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