1、前台页面:parameter.jsp
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme() + "://"
+ request.getServerName() + ":" + request.getServerPort()
+ path + "/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
</head>
<body>
<center>
<h1>
向后台传递参数测试
</h1>
<form action="parameter!getParameter.action">
用户名:
<input type="text" name="userName">
<br>
密码:
<input type="password" name="userPassword">
<br>
<input type="submit" value="提交">
</form>
</center>
</body>
</html>
2、控制器:ParameterAction.java
package action;
import com.opensymphony.xwork2.ActionSupport;
/**
* 在struts2.0中,由于对request ,response ,session 等对象进行封装
* 所以在接受前台传递过来的参数时,不能直接使用request对象
* struts2.0采用反射来接受前台传递过来的参数,使用方法如下:
* 假设前台的文本框如下:<input type="text" name="userName">
* 只要在action类中添加一个属性userName ,并且提供对应的set和get方法
* struts2.0就可以把文本框的值传递到action类中的userName属性中
* 注意:前台要向后台传数据,只能通过form表单作为一个载体
* @author Administrator
*
*/
public class ParameterAction extends ActionSupport {
/**
* 版本号
*/
private static final long serialVersionUID = 1L;
/**
* 用户名
*/
private String userName;//和前台的文本框的name属性值一致,并提供set和get的方法
/**
* 密码
*/
private String userPassword;
/**
* 获取前台传递过来的参数
* @return
*/
public void getParameter(){
//把接受到的参数打印到控制台中
System.out.println("接收到的参数如下:");
System.out.println("用户名:"+this.getUserName());
System.out.println("密码:"+this.getUserPassword());
//return "success";
}
/**
* 获取用户名
* @return
*/
public String getUserName() {
return userName;
}
/**
* 设置用户名
* @param userName
*/
public void setUserName(String userName) {
this.userName = userName;
}
/**
* 获取密码
* @return
*/
public String getUserPassword() {
return userPassword;
}
/**
* 设置密码
* @param userPassword
*/
public void setUserPassword(String userPassword) {
this.userPassword = userPassword;
}
/**
* 获取版本号
* @return
*/
public static long getSerialVersionUID() {
return serialVersionUID;
}
}
3、配置文件:struts.xml
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd"> <struts> <package name="admin" namespace="/" extends="struts-default"> <!-- parameterAction --> <action name="parameter" class="action.ParameterAction"> </action> </package> </struts>
4、测试
<!--EndFragment-->