快速业务通道

基于Struts 2开发Web应用 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-20
"sample.action.UserAction"    method="submitUser">    <result name="input">/WEB-INF/page/user.jsp</result>    <result name="userList" type="chain">showUserList</result>   </action>   ……………   </package> </struts>

在 Struts 2 中,如果一个 Action 需要调用另一个 Action, 可以设置 result 的 type 为 chain, 如前面代码片段中的 <result name="userList"type="chain">showUserList</result>

开发页面

在开发 Struts 2 应用时,不可避免会使用大量的 Struts 2 标签,默认 Struts 2 解释这些标签生成 HTML 代码时会加上一些额外的代码,例如可能把 <tr><td> 自动加上,如果我们选择自己灵活控制代码格式,可以参考本示例在 struts.properties 里设置 struts.ui.theme=simple, struts.properties 同样位于类根路径下:

图 9.Struts 标签及配置文件

基于Struts 2开发Web应用(6)

时间:2011-01-25 IBM 吴春峰 程炜

下面我们通过 user.jsp 来展示 Struts 2 框架是如何关联 Jsp, Action 以及表单字段的

<%@ taglib prefix="s2" uri="/struts-tags"%> ........ <s2:form action="submitUser" name="submitUser" namespace="/admin">      <table>        <tr>          <td><s2:text name="User.Name"/></td>          <td><s2:textfield name="user.userName"/></td>        </tr>        <tr>          <td><s2:text name="User.Password"/></td>          <td><s2:password name="user.password"/></td>        </tr>        <tr>          <td><s2:text name="User.Email"/></td>          <td><s2:textfield name="user.email"/></td>        </tr>        ……………      </table> </s2:form>

S2:form 标签的 action 属性指定了 form 要提交到的 action, 该 action 名已经在 struts-user.xml 中定义。Namespace 属性和 struts-user.xml 中保持了一致,根据 struts-user.xml 的配置信息,该 form 就会被提交到 UserAction 的 submitUser 方法,但是表单各个字段值是如何被 Action 识别的呢?这是由代表 HTML 各种控件的 Struts 2 标签 name 属性指定的,例如 <s2:textfield name="user.userName"/> 就将该字段的值直接映射到 UserAction 的 user 实例变量的 userName 属性,注意,这里要求 user 对象对应的 User 类必须有一个空的构造函数,另外这里的 user 应该是一个标准的 JavaBean, 所有属性应该有 get,set 方法。

我们看一下表单提交后,action 是如何处理的:

public String submitUser() {    userService.addUser(user);    return "userList"; }

在调用该方法前,Struts 2 框架已经将所有表单参数自动组装到 user 对象中,所以该方法可以直接访问 user 对象,并对其做相应处理 , 该示例中的 userService 是负责 user 对象的增,删,改操作。

添加完 user 对象,该 action 返回了一个字符串&rdqu

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号