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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值