Struts之参数传递

这里涉及到三种传递:

属性,实体,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,可以改变的
	@Override
	public String execute() throws Exception {
		System.out.print(name + "---" + pass);
		return "success";
	}
	// 下面的都是用于传递值的方法
	public String add1() throws Exception {
		// 这个user就是上面的那个UserInfo user
		System.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
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值