Struts 2使用PreResultListener
2015-07-21 09:32
465 查看
PreResultListener是要给监听器接口,他可以在Action完成控制处理之后,系统转入实际的物理视图之间被回调。
Struts 2 可以由ActionInvocation的addPreResultListener()方法来完成。
Struts 2 可以由Action和拦截器添加PreResultListener监听器。当为Action添加了改监听器,该监听器就可以再应用转入到实际物理视图之前回调该监听器的beforeResult()方法;当为拦截器添加监听器后,该监听器会对该拦截器所拦截的所有action都起作用。
如:
[java] view
plaincopyprint?
public class LoginRegistAction extends ActionSupport{
private String username; //用户名
private String password; //密码
private String tip; //封装结果
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getTip() {
return tip;
}
public void setTip(String tip) {
this.tip = tip;
}
//Action包含的注册控制逻辑
public String regist(){
ActionContext.getContext().getSession().put("user", getUsername());
return SUCCESS;
}
//Action包含的登陆控制逻辑
public String login(){
ActionInvocation actionInvocation = ActionContext.getContext().getActionInvocation();
<span style="color:#ff0000;"> </span><span style="color:#000000;">actionInvocation.addPreResultListener(new PreResultListener(){
public void beforeResult(ActionInvocation action,String resultCode){
System.out.println("返回的逻辑视图名字为:"+resultCode);
//在返回resultCode之前加入一个额外的数据
action.getInvocationContext().put("extra", new java.util.Date()+"由"+resultCode+"逻辑视图转入");
}
});
</span>
if(getUsername().equals("chenssy")&&getPassword().equals("chentmt")){
ActionContext.getContext().getSession().put("user", getUsername());
setTip("欢迎,"+getUsername()+",您已经成功登陆!");
return SUCCESS;
}
else {
return ERROR;
}
}
}
上面的红色字体代码就示范了为Action添加PreResultListener,这样改监听器就可以在转入物理视图之前激发该监听器
输入正确的用户名和密码登陆后,就可以得到如下页面:
通过上面我们可以看到,通过使用PreResultListener监听指定Action转入不同Result的细节。
本文转载自/article/1392365.html
Struts 2 可以由ActionInvocation的addPreResultListener()方法来完成。
Struts 2 可以由Action和拦截器添加PreResultListener监听器。当为Action添加了改监听器,该监听器就可以再应用转入到实际物理视图之前回调该监听器的beforeResult()方法;当为拦截器添加监听器后,该监听器会对该拦截器所拦截的所有action都起作用。
如:
[java] view
plaincopyprint?
public class LoginRegistAction extends ActionSupport{
private String username; //用户名
private String password; //密码
private String tip; //封装结果
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getTip() {
return tip;
}
public void setTip(String tip) {
this.tip = tip;
}
//Action包含的注册控制逻辑
public String regist(){
ActionContext.getContext().getSession().put("user", getUsername());
return SUCCESS;
}
//Action包含的登陆控制逻辑
public String login(){
ActionInvocation actionInvocation = ActionContext.getContext().getActionInvocation();
<span style="color:#ff0000;"> </span><span style="color:#000000;">actionInvocation.addPreResultListener(new PreResultListener(){
public void beforeResult(ActionInvocation action,String resultCode){
System.out.println("返回的逻辑视图名字为:"+resultCode);
//在返回resultCode之前加入一个额外的数据
action.getInvocationContext().put("extra", new java.util.Date()+"由"+resultCode+"逻辑视图转入");
}
});
</span>
if(getUsername().equals("chenssy")&&getPassword().equals("chentmt")){
ActionContext.getContext().getSession().put("user", getUsername());
setTip("欢迎,"+getUsername()+",您已经成功登陆!");
return SUCCESS;
}
else {
return ERROR;
}
}
}
上面的红色字体代码就示范了为Action添加PreResultListener,这样改监听器就可以在转入物理视图之前激发该监听器
输入正确的用户名和密码登陆后,就可以得到如下页面:
通过上面我们可以看到,通过使用PreResultListener监听指定Action转入不同Result的细节。
本文转载自/article/1392365.html
相关文章推荐
- Java Web乱码分析及解决方案(二)——POST请求乱码
- Java Socket Client编程
- java与.net之间xml传递,xml最前面多了个?
- springmvc笔记(基本配置,核心文件,路径,参数,文件上传,json整合)
- eclipse怎么设置字体大小
- 使用百度地图API进行Android地图应用开发(Eclipse)
- eclipse 关联 v4 源码的方法
- 使用JavaMail发送和接收电子邮件
- Java 判断两个文件是否相同的两种方法
- Java DecimalFormat 用法
- Balanced Binary Tree(Java代码没有结束,是什么原因???)
- 6. JavaSE-面向对象简介
- 【SpringMVC框架】小结+视图解析器配置前缀和后缀
- iteratorTag.jsp和fragmentTag.jsp报错的处理javax/el/ELResolver
- java中ArrayList的使用
- Eclipse for Mac 常用快捷键
- spring,springmvc获取bean
- 5. JavaSE-语句 & 函数
- 【知识积累】JavaMail实现发邮件功能
- 【SpringMVC框架】注解的处理器映射器和适配器配置