Struts2中的<s:action>标签

简介:

一、基本概念

action标签允许开发者在JSP页面中直接调用action,该标签有以下属性:

1 executeResult
可选属性,为一个Boolean类型值,用来指定是否显示action的执行结果,默认值为false,即不显示。

2 id
可选属性,用来引用该action的标识。

3 name
必填属性,用来指定该action的实现类位置。

4 namespace
可选属性,用来指定该标签调用的action所在的命名空间。

5 ignoreContextParams
可选属性,用来指定该页面中的请求参数是否需要传入调用的action,默认值为false,即将本页面的请求参数传入被调用的action。


二、示例

main.jsp页面左侧栏显示数据库中所有的书本信息

1 书本的实体类为Book.java
public class Book implements java.io.Serializable {
private Integer bookId;
private String bookName;
private String bookAuthor;
}

2 查询所有书本的方法,该方法所在的类为BookManage.java
public class BookManage extends HibernateDaoSupport {
public List<Book> allBook(){
   String hql = "from Book as book ";
   try{
    List<Book> allBook = this.getHibernateTemplate().find(hql);
    return allBook;
   }catch (RuntimeException re) {
    throw re;
   }
}
}

3 创建一个action用来获取所有书本信息
public class LeftAction extends ActionSupport{
private BookManage bookManage;
public void setBookManage(BookManage bookManage) {
   this.bookManage = bookManage;
}
public String execute(){
   List<Book> allBook = bookManage.allBook();
   HttpServletRequest request = ServletActionContext.getRequest();
   request.setAttribute("allBook", allBook);
   return "success";
}
}

4 struts.xml中配置该action
<package name="book" namespace="/book" extends="dang-default">
<action name="allBookAction" class="AllBookAction">
      <result name="success">books.jsp</result>
</action>
</package>

5 book.jsp
<body>
   <div>
    <ul>
     <li>所有书本</li>
     <s:iterator value="#request.allBook">
      <li>
       书ID:<s:property value="bookId" />
      </li>
      <li>
       书名:<s:property value="bookName"/>
      </li>
      <li>
       作者:<s:property value="bookAuthor"/>
      </li>
     </s:iterator>
    </ul>
   </div>
</body>

6 main.jsp中左侧菜单栏列出书籍所有数据
<div id="left">
 <s:action name="allBookAction" namespace="/book" executeResult="true"></s:action>
</div>


三、总结

该标签是每一个模块很清晰,并增加了模块的可复用性。

原帖地址:http://blog.sina.com.cn/s/blog_49b531af0100g3hx.html

目录
相关文章
|
Java Apache 容器
Invalid &lt;url-pattern&gt; /admin/*.jsp in filter mapping
完成错误信息 严重: A child container failed during start java.util.concurrent.ExecutionException: org.apache.
1130 0
|
前端开发
CSS之选择器(十)&lt;label&gt; 和 &lt;input&gt;
CSS之选择器(十)&lt;label&gt; 和 &lt;input&gt;
CSS之选择器(十)&lt;label&gt; 和 &lt;input&gt;
|
前端开发
一个ActionResult中定位到两个视图—&lt;团委项目&gt;
一个ActionResult中定位到两个视图—&lt;团委项目&gt;
77 0
一个ActionResult中定位到两个视图—&lt;团委项目&gt;
|
JavaScript
用jquery删除table列表中&lt;u&gt;标签
//循环去掉a和u标签$("tbody a").each(function(){          var xx=$(this).find("u").
991 0
|
Java 数据格式 XML
&lt;xliff:g&gt;标签
转自:http://blog.csdn.net/huangyabin001/article/details/37651165 摘要: 这是Android4.3Mms源码中的strings.xml的一段代码: %1$smessages per conversation 在这里google的工程师们使用了标签,这个标签主要在动态插入内容时候使用,有点类似于占位符的作用。
942 0
|
定位技术 Android开发
Manifest.xml 入门基础 (五)&lt;Activity&gt;标签
&lt;activity android:allowTaskReparenting=["true" | "false"] android:alwaysRetainTaskState=["true" | "false"] android:clearTaskOnLaunch=["true" | "false"]
1313 0
|
监控 定位技术 Android开发
Manifest.xml 入门基础 (二) &lt;uses-permission&gt; 标签
Manifest.xml 入门基础 (二) &lt;uses-permission&gt; 标签 Android的权限在AndroidManifest.xml文件里配置。AndroidManifest文件中有四个标签与permission有关,它们分别是 &lt;permission&gt;、 &lt;permission-group&gt; 、&lt;permissio
1478 0
|
Java 索引 存储
JSTL 模板中 &lt;c:forEach&gt; 标签详解
详解 标签的语法定义如下所示。                                                 body content                                标签具有以下一些属性:l            var:迭代参数的名称。
1048 0
Dev GridView 绑定List&lt;T&gt;、BindingList &lt;T&gt;、BindingSource
作者:jiankunking 出处:http://blog.csdn.net/jiankunking         今天听到同事处理数据结构的时候特意处理为了 BindingList&lt;T&gt;,据说可以直接绑定到Dev GridView上,于是测试了一下: 1、在Dev GridView中新增三列,三列的FieldName分别对应与FormItem类对应:ItemKey、Name
2449 0