您的位置:首页 > 产品设计 > UI/UE

用标签显示用户列表及Value Stack和Stack Context

2017-07-16 17:30 232 查看
用标签显示用户列表及Value Stack和Stack Context

以前我们显示用户列表,都是存在四个范围里(request,session,pageContext以及application),然后在jsp页面上写java代码和标签之类的,

这样看起来很不好!

如:

用标签

userlist.jsp

<%

  UserDAO dao=new UserDAO();

  ArrayList<User> list=dao.getUsers();

  pageContext.setAttribute("list",list);

%>

<c:out ... />

jsp网页上,尽量不要出现Java代码

学了struts2.x之后,我们可以通过struts2.x的方式显示用户列表,步骤如下:

1.在struts中可以通过action去访问userlist.jsp

<result name="success">/WEB-INF/list/userlist.jsp</result>我们把uselist.jsp放在WEB-INF的list文件夹的目录下,是为了一定要经过action!

不然就显示不出用户的信息,因为用户的信息就是通过action类中的list()方法得到的!我们在前端就只要<a href="list"></a>即可,通过list查询

到struts.xml中找到<action name="*" class="myuser.UserAction" method="{1}">进入到action类中进行处理,然后转到前端userlist.jsp进行输出!

2.在action中将所有用户的信息存入到某个范围中,(struts2.x中的一种范围是:ActionContext)

ActionContext ctx = ActionContext.getContext();

ctx.put("USERLIST", list);///把用户的属性信息存放到ctx中

3.然后转向userlist.jsp,进行访问。

这里对userlist.jsp进行详细点的分析:

举个代码例子:

<table>

<tr><th>序号</th><th>用户名</th><th>密码</th></tr>

<s:iterator value="#USERLIST" status="s" id="cuser">

<tr><td><s:property value="#s.index+1"/></td><td><s:property value="#cuser.userName"/></td><td><s:property value="#cuser.pwd"/></td></tr>

</s:iterator>

</table>

</body>

<s:debug></s:debug>

首先讲:id是可以省略 ,省略之后 类似这样的<s:property value="#cuser.userName"/> 要变成<s:property value="userName"/>

在struts2.x框架标签中输出的时候:直接输出属性就可以了!如:<s:property value="userName"/>(<s:property/>输出标签)

第二:<s:iterator>标签是用来进行循环的

第三:这行代码:sttus="s" 和下面对应的 value="#s.index+1" 这些代码是用来增加序号的值的 index的值是从0开始的,我们要序号从1开始

所以index+1!

第四:<s:debug></s:debug>这个标签可以查看Value Stack 和Stack Context里面的东西(可以查看什么变量属于Value Stack还是Stack Context)

a.Value Stack 的概念  访问时不用加#

Value=值栈

b.Stack Context      访问时要加#

a和b都是用来存放数据

ognl表达式:类似于这种:#USERLIST (就是加上了"#"),功能比EL表达式要强!

struts2标签(可以去网上查查,里面有Struts2.x的标签,比较完整)
http://blog.163.com/hzd_love/blog/static/131999881201082111852520/
<s:iterator/>标签
http://www.blogjava.net/Reg/archive/2009/11/20/303085.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐