Struts之参数传递

来源:互联网 发布:算法导论 第3版 pdf 编辑:程序博客网 时间:2024/06/11 19:24

这里涉及到三种传递:

属性,实体,list传值的流程:

加载web.xml---输入页面(jsp)--struts.xml(分辨出交给哪个action)

---action(处理后)--返回struts.xml--最后交给jsp页面

第一步配置web.xml

<filter><filter-name>struts2</filter-name><filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class></filter><filter-mapping><filter-name>struts2</filter-name><url-pattern>/*</url-pattern></filter-mapping>
第二步配置struts.xml

<!-- 动态方法调用 --><constant name="struts.enable.DynamicMethodInvocation" value="true" /><!-- 开发模式 --><constant name="struts.devMode" value="true" /><package name="default" namespace="/" extends="struts-default"><!-- 当页面传递的类型不匹配出错时,设置全局 --><global-results><result name="input">/error.jsp</result></global-results><action name="user" class="cn.test.LoginAction">//选择对应的action<result name="success">/success.jsp</result>//用于返回界面</action>
</package>

第三步创建一个UserInfo.java

这是一个实体类 

第四步创建一个Loginaction.java

public class LoginAction extends ActionSupport {// 属性接收参数private String name;private String pass;// 实体类接收参数private UserInfo user;// List接收参数private List<UserInfo> list;// 默认传递给execute,可以改变的@Overridepublic String execute() throws Exception {System.out.print(name + "---" + pass);return "success";}// 下面的都是用于传递值的方法public String add1() throws Exception {// 这个user就是上面的那个UserInfo userSystem.out.print(user);return "success";}public String add2() throws Exception {// 此处的list封装了login页面的数据(UserInfo)for (UserInfo user : list) {System.out.print(user);}return "success";}下面还有 <span style="font-family: Arial, Helvetica, sans-serif;">name </span><span style="font-family: Arial, Helvetica, sans-serif;">pass </span><span style="font-family: Arial, Helvetica, sans-serif;">user </span><span style="font-family: Arial, Helvetica, sans-serif;">list</span><span style="font-family: Arial, Helvetica, sans-serif;">的</span><span style="font-family: Arial, Helvetica, sans-serif;">get/set方法,就不列出来了</span>
第五步创建可以传递值的页面login.jsp

<h1>属性接收参数</h1><hr/><form action="user" method="post">账号:<input type="text" name="name"><br> 密码:<input type="password" name="pass"><br> <input type="submit" value="登录"></form><h1>实体类接收参数</h1><hr/><form action="user!add1" method="post">账号:<input type="text" name="user.name"><br> 密码:<input type="password" name="user.pass"><br> <input type="submit" value="登录"></form><h1>List接收参数</h1><hr/><form action="user!add2" method="post">账号:<input type="text" name="list[0].name"> 密码:<input type="password" name="list[0].pass"><br> 账号:<input type="text" name="list[1].name"> 密码:<input type="password" name="list[1].pass"><br> <input type="submit" value="登录"></form>
第六步交给获得处理结果的jsp页面

<%@ taglib prefix="s" uri="/struts-tags" %>//这个是struts标签,用于下面的iterator

对应execute方法:
<span style="white-space:pre"></span><h1>属性接收</h1><hr />账号:${name}<br> 密码:${pass}<br> <strong><span style="font-size:14px;"></span></strong><pre name="code" class="html">对应add1方法:
<h1>实体类接收</h1><hr />账号:${user.name}<br> 密码:${user.pass}<br> 

<strong><span style="font-size:14px;"></span></strong><pre name="code" class="html">对应add2方法:
<h1>List接收</h1><hr /><s:iterator value="list" status="s">//迭代器索引:${s.index}--序号:${s.count}-- 姓名:${name } 密码:${pass }<br /></s:iterator>

0 0
原创粉丝点击