struts2---传递参数

本文介绍了Struts框架中三种不同的参数传递方法:使用域模型(DomainModel)、直接在Action中定义参数及实现ModelDriven接口。重点讲解了每种方法的具体实现及应用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

(第一种方法,这种方法叫做DomainModel----域模型)
Action的配置如下,不过还需要建一个model对象User
Java代码
package dalei.wildcard;
import com.opensymphony.xwork2.ActionSupport;
import dalei.model.User;
public class Wildcard extends ActionSupport {
//在调用的时候struts会自动的new出一个对象来
private User user;
       public String execute(){
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;
}
}


Java代码
package dalei.model;
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;
}
}

在传递参数的是和普通传递不一样:这种用的最多
http://localhost/Test/index? user.name=dalei&user.age=21
注意参数前面加了model类的名字。这种传递是的action类里面的内容比较简洁,且易于对大量参数进行管理


(2 这是普通的方法,用起来稍有并不方便的地方,使得action类的页面太过繁杂)
在action中定义好要传递的参数,并定义get和set方法
Java代码
import com.opensymphony.xwork2.ActionSupport;
public class Wildcard extends ActionSupport {
public String execute(){
System.out.println("name="+name);
System.out.println("age="+age);
return SUCCESS;
}
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;
}
}

当访问的时候将其将要传递的参数加上:
http://localhost/Test/index?name=dalei&age=21
或者通过表单直接传递<form>下的<input type=text name=“name”>中的name传递给action
即可将要传递的参数传到action中,然后用于做要做的事情

(3,这种方法一般不是很常用)
Java代码
package dalei.wildcard;
import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.ModelDriven;
import dalei.model.User;
public class Wildcard extends ActionSupport implements ModelDriven<User> {
//在调用的时候struts会自动的new出一个对象来
private User user;
public String execute(){
System.out.println("name="+user.getName());
System.out.println("age="+user.getAge());
return SUCCESS;
}
public User getModel() {
// TODO Auto-generated method stub
return null;
}
}


Java代码
package dalei.model;
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;
}
}


在传递参数的是和普通传递一样:不常用
http://localhost/Test/index?name=dalei&age=21
和DomainModel的用法大致相同
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值