博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Struts2 - Convertion
阅读量:6209 次
发布时间:2019-06-21

本文共 2431 字,大约阅读时间需要 8 分钟。

Struts2中的Convertion插件是比较有用,它可以简化很多操作,比如不需要一个一个Action在struts.xml中设置。当然,最有意义的是它与rest插件一起整合使用,可以完成web-site中的restful操作。具体可以参考Struts包中的例子:

rest plugin的使用后面再写,先试下convertion plugin。由于struts的配置太多,只例出一些比较实用和常用的先,其它的之后再整理一下。

eclipse建j2ee工程就不屁话了。

 

1)加入包:struts2-convention-plugin-2.3.16.1.jar

最好把另一个包也加上(发布时要把它删除,不然别人就可以很容易就得到所有的action list):struts2-config-browser-plugin-2.3.16.1.jar

browser这个plugin可以用于查看当前web-site所有的struts action和明细。使用方法:

在浏览器地址栏上输入:

比如:

 

2)修改web.xml,加入Struts2的filter,这与普通的使用没区别。

struts2
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
struts2
/*

 

3) 在src目录下新建一个struts.xml

这里最重要的的就这几个设置。(留意xml的注释)

需要说明一下的是这两个key

name=struts.enable.DynamicMethodInvocation,这个设置为true,就可以动态的调用action中的public方法,如果设置false,就不可以调用了。

name=struts.convention.result.path,这个设置的值是action对应的jsp文件所存放的目录所在地址。如果没有设置这个值,其实stutrs2默认就是/WEB-INF/content这个目录。

 

4)新建一个package:com.my.actions,及在这个package中新建一个LoginAction.java

package com.my.actions;import org.apache.struts2.convention.annotation.Action;import com.opensymphony.xwork2.ActionSupport;@SuppressWarnings("serial")public class LoginAction extends ActionSupport {        private String username;    public String getUsername() {        return username;    }    public void setUsername(String username) {        this.username = username;    }    @Override    public String execute() throws Exception {        return SUCCESS;    }    public String test() {        System.out.println("test");        return "test";    }        public String edit(){        return "edit";    }}

 

5)在/WEB-INF/content目录下新建三个jsp:login.jsp、login-test.jsp、login-edit.jsp

login.jsp和login-test.jsp内容随便,login-edit.jsp的内容为:

<%@ page language="java" contentType="text/html; charset=UTF-8"    pageEncoding="UTF-8"%>
Insert title here edit page.
user: ${ requestScope.username }

主要用于打印username。

 

好了,完成了。

在浏览器中键入:

-- 这个是会自动定位到login.jsp

 

-- 这个会定位到test()方法

-- 这个会定位到edit()方法,同时传入一个username参数并在页面中显示。


 

事实上,我们还可以在LoginAction.java中再加一个@Action标注:

@Action("login-show")    public String show(){        return "show";    }

这样就会有一个新的Action所产生,可以在浏览器中输入:

Action的明细可以在browser plugin中查看。

 

jsp的命名规则是<Action>-<Method>.jsp,如:login-test.jsp

 

很不喜欢方法的调用使用感叹号!还是使用rest吧哈。

转载地址:http://npbja.baihongyu.com/

你可能感兴趣的文章
python二维数组初始化
查看>>
【Android应用开发技术:用户界面】布局管理器
查看>>
2 salt-masterless架构
查看>>
C# 线程池ThreadPool的用法简析
查看>>
eclipse 如何修改maven插件本地仓库jar包默认存储位置
查看>>
Zookeeper浏览器工具和Eclipse插件
查看>>
RxSwift 之变换操作
查看>>
greendao 查询之数据去重
查看>>
配置gitignore后使其生效命令
查看>>
tf.placeholder使用说明
查看>>
手机web页面调用手机QQ实现在线聊天的效果
查看>>
【WPF】UI虚拟化之------自定义VirtualizingWrapPanel
查看>>
VAE (variational autoencoder)
查看>>
SharePoint 压缩打包文件代码分享
查看>>
银行卡的三个磁道【转】
查看>>
架构师素养及从小菜进阶架构(CTO)的书籍【转】
查看>>
Linux中添加、修改和删除用户和用户组
查看>>
Failed to start /etc/rc.d/rc.local Compatibility
查看>>
Monad (functional programming)
查看>>
Zmodem协议
查看>>