下面我将详细讲解“Struts2获取参数的三种方法总结”的攻略:
Struts2获取参数的三种方法总结
1. 在Action类中定义参数
在Action类中通过定义成员变量的方式获取请求参数。需要注意的是,需要提供setter方法来进行参数注入。
示例代码:
public class MyAction extends ActionSupport {
private String username;
private int age;
public void setUsername(String username) {
this.username = username;
}
public void setAge(int age) {
this.age = age;
}
@Override
public String execute() throws Exception {
System.out.println("Username: " + username);
System.out.println("Age: " + age);
return SUCCESS;
}
}
在这个示例中,我们定义了两个成员变量username
和age
,并提供了setter方法。当请求到Action时,Struts2会自动调用setter方法将请求参数注入成员变量中。
2. 在Action方法参数中获取参数
在Action方法的参数中,可以直接获取请求参数的值。
示例代码:
public class MyAction extends ActionSupport {
@Override
public String execute() {
HttpServletRequest request = ServletActionContext.getRequest();
String username = request.getParameter("username");
int age = Integer.parseInt(request.getParameter("age"));
System.out.println("Username: " + username);
System.out.println("Age: " + age);
return SUCCESS;
}
}
在这个示例中,我们通过ServletActionContext.getRequest()
获取HttpServletRequest对象,并使用getParameter()
方法获取请求参数。
3. 使用OGNL表达式获取参数
OGNL(Object-Graph Navigation Language)是一个强大的表达式语言,可以用来访问Java对象的属性。
示例代码:
public class MyAction extends ActionSupport {
private String username;
private int age;
public void setUsername(String username) {
this.username = username;
}
public void setAge(int age) {
this.age = age;
}
@Override
public String execute() throws Exception {
System.out.println("Username: " + username);
System.out.println("Age: " + age);
return SUCCESS;
}
public String show() {
return SUCCESS;
}
}
这个示例中,我们定义了一个成员变量username
和age
,并提供了setter方法。在Action中使用了OGNL表达式${username}
和${age}
获取请求参数。
以上就是“Struts2获取参数的三种方法总结”的攻略,希望对你有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Struts2获取参数的三种方法总结 - Python技术站