b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

Struts2通配符映射(2)

电脑杂谈  发布时间:2016-05-23 09:03:51  来源:网络整理

public class UserAction extends ActionSupport {

private String name;
private int age;

public String add() {
System.out.println("name=" + name);
System.out.println("age=" + age);
return SUCCESS;
}

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

public int getAge() {
return age;
}

public void setAge(int age) {
this.age = age;
}
}

2、使用Domain Model接收参数
将之前的属性放入到POJO ,并设置属性的setter/getter方法

链接:使用Domain Model接收参数添加用户

public class UserAction extends ActionSupport {

private User user;
//private UserDTO userDTO;
public String add() {
System.out.println("name=" + user.getName());
System.out.println("age=" + user.getAge());
return SUCCESS;
}

public User getUser() {
return user;
}

public void setUser(User user) {
this.user = user;
}

}
public class User {
private String name;
private int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}

3、使用ModelDriven接收参数
Action实现ModelDriven接口,实现getModel()方法。
这样user需要自己new出来,getModel返回user。

链接:使用ModelDriven接收参数添加用户

public class UserAction extends ActionSupport implements ModelDriven {

private User user = new User();

public String add() {
System.out.println("name=" + user.getName());
System.out.println("age=" + user.getAge());
return SUCCESS;
}

@Override
public User getModel() {
return user;
}
}


字符编码
配置:
<constant value="GBK" />
在struts2.1.6中不起作用,属于bug,在struts2.1.7中修改。
解决方案:
修改web.xml 中:
<filter>
<filter-name>struts2


<filter-class>org.apache.struts2.dispatcher.FilterDispatcher


=============================================================


Struts2一个Action内包含多个请求处理方法的处理(三种方式)

Struts1提供了DispatchAction,从而允许一个Action内包含多个请求处理方法。Struts2也提供了类似的功能。处理方式主要有以下三种方式:

1.1. 动态方法调用:

DMI:Dynamic Method Invocation 动态方法调用。

动态方法调用是指:表单元素的action不直接等于某个Action的名字,而是以如下形式来指定对应的动作名:

regist.jsp

<%@ page language="java" pageEncoding="UTF-8"%>

用户注册

1.2. 为Action配置method属性:

将Action类中的每一个处理方法都定义成一个逻辑Action方法。

"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"

"http://struts.apache.org/dtds/struts-2.0.dtd">

<result>/success.jsp

<result>/error.jsp

<result>/success.jsp

<result>/error.jsp

如 上,把LoginAction中的login和regist方法都配置成逻辑Action。要调用login方法,则相应的把index.jsp中表单元 素的action设置为"manage/userLogin.action";要调用regist方法,把regist.jsp中表单元素的action 设置为"manage/userRegist.action"。

1.3. 使用通配符映射(wildcard mappings)方式:

在struts.xml文件中配置元素时,它的name、class、method属性都可支持通配符,这种通配符的方式是另一种形式的动态方法调用。

当我们使用通配符定义Action的name属性时,相当于用一个元素action定义了多个逻辑Action:

<result>/success.jsp

<result>/error.jsp

如 上,定义一系列请求URL是user_*.action模式的逻辑Action,。同时method属性值为一个表达式 {1},表示它的值是name属性值中第一个*的值。例如:用户请求URL为user_login.action时,将调用到UserAction类的 login方法;用户请求URL为user_regist.action时,将调用到UserAction类的regist方法。

阅读(6188) | 评论(0) | 转发(0) |

1

上一篇:java常用jar包(未整理)

下一篇:MyEclipse 注册机程序

相关热门文章

给主人留下些什么吧!~~

评论热议

请登录后评论。

登录 注册


以上就是关于struts2通配符的全部内容,相信你一定会非常满意。


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-5996-2.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    • 陈军艳
      陈军艳

      买股票和炒股票的区别

    • 陈慎公
      陈慎公

      参战舰船也超过北洋海军的数量

    • 岩永哲哉
      岩永哲哉

      美国也就是虚张声势

    每日福利
    热点图片
    拼命载入中...