閱讀767 返回首頁    go 阿裏雲 go 技術社區[雲棲]


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" >
      <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 >
 <s:action name="allBookAction" namespace="/book" executeResult="true"></s:action>
</div>


三、總結

該標簽是每一個模塊很清晰,並增加了模塊的可複用性。

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

最後更新:2017-04-03 20:19:10

  上一篇:go Java中CallableStatement調用Oracle存儲過程總結
  下一篇:go maven項目建立pom.xml報無法解析org.apache.maven.plugins:maven-resources-plugin:2.4.3