Struts2逻辑标签 笔记

it2025-12-31  12

<%@page import="com.jike.bean.Em"%><%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><%@taglib prefix="s" uri="/struts-tags"%>

<%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html> <head> </head> <body> <% //相当于request.setAttribute("age", 60); %> <s:set name="age" value="60"/> <%-- <h1></h1> 登录成功! 欢迎您, ${age} <hr> <h1>上下文对象request能取到request的值,,原来上下文对象叫request</h1> <%=request.getAttribute("age") %> <hr> <h1>页面级存储对象pageContext能取到request的值</h1> <%=pageContext.getAttribute("age") %> <hr> <h1>Session不能取到request的值</h1> <%=session.getAttribute("age") %> <hr> <h1>服务器对象application不能取到request的值</h1> <%=application.getAttribute("age") %> --%> <hr> <!-- 这个地方只能保存数字,不能为什么保存字符串会没有 --> <s:set name="username" value="100" scope="session" /> scope="session"' 能不能取到值,肯定可以,范围变大了,是不是? 不是,只要存了,都可以找到? : ${username} <h1>上下文对象request能取到request的值,,原来上下文对象叫request</h1> <%=request.getAttribute("username") %><h2>session与request没有任何关系</h2> <hr> <h1>页面级存储对象pageContext能取到request的值</h1> <%=pageContext.getAttribute("username") %> <hr> <h1>Session不能取到request的值</h1> <%=session.getAttribute("username") %> <hr> <h1>服务器对象application不能取到request的值</h1> <%=application.getAttribute("username") %> <hr> <s:set name="bookList" value="{'Hadoop实战','Spring框架','Struts2原理'}" /> <s:select label="编程书籍" list="#bookList"/> <hr> <s:set name="bookMap" value="#{'1':'Hadoop实战','2':'Spring框架','3':'Struts2原理'}" /> <s:select label="编程书籍map" list="#bookMap" listKey="key" listValue="value" /> <!-- //Struts2 valueStack 为存储的根位置--> <h2>property</h2> <s:property value="#session.username" /> <h2>取request中的property值,或者说scope没有定义时的值:</h2> <s:property value="#age" /> <h2>property展示集合</h2> <s:property value="#bookList" /><br> <s:property value="#bookList[0]" /><br> <h2>property展示集合Map</h2> <s:property value="#bookMap" /><br> <s:property value="#bookMap.keys" /><br> <s:property value="#bookMap.values" /><br> <hr> <hr> <s:set name="score" value="20" /> <s:if test="#score>=60">恭喜你及格了!!</s:if> <s:elseif test="#score>=30">经判定,你是一个学渣!</s:elseif> <s:else>你还好意思查分数?</s:else> <hr><!-- 迭代器 --> <s:iterator value="#bookList" id="bookName" > <s:property value="bookName" /> </s:iterator> <hr><!-- 迭代器打印Map --> <s:iterator value="#bookMap" > <s:property value="key" /> <s:property value="value" /><br> </s:iterator> <hr><hr> <!-- 实用的干货,模拟从action中传递过来一个集合,集合中是对象 --> <% List<Em> list = new ArrayList<Em>(); Em em1 = new Em(1,"瑞文"); Em em2 = new Em(2,"刀妹"); Em em3 = new Em(3,"火男"); Em em4= new Em(4,"伊泽瑞尔"); list.add(em1); list.add(em2); list.add(em3); list.add(em4); request.setAttribute("listt", list); request.setAttribute("listt2", list); request.setAttribute("listt3", list); request.setAttribute("listt4", list); request.setAttribute("listt5", list); %> <!--Struts2 OGNL语言中的取值变量前都要添加# --> <s:iterator value="#request.listt" var="em" > <s:property value="#em.eplId" /> <s:property value="#em.username" /><br> </s:iterator> <hr> <s:iterator value="#request.listt2" var="em" begin="1" end="2" > <s:property value="#em.eplId" /> <s:property value="#em.username" /><br> </s:iterator> <hr> <s:iterator value="#request.listt3" var="em" begin="0" step="2" > <s:property value="#em.eplId" /> <s:property value="#em.username" /><br> </s:iterator> <!-- 最实用的一个属性 status --> <hr> <s:iterator value="#request.listt4" var="em" status="st" > <s:if test="#st.index%2==0"><br></s:if> <s:property value="#st.first" /><!-- 输出是否为第一个元素 --> <s:property value="#st.last" /> <s:property value="#st.count" /> <!--当前迭代到第几个元素 --> <s:property value="#st.odd" /> <!-- 当前行是否是奇数行 --> <s:property value="#st.even" /> <!-- 当前行是否是偶数行 --> <s:property value="#em.eplId" /> <s:property value="#em.username" /> </s:iterator> <hr><!-- 对集合中对象的有条件选择这里?$^都可以,^位取最前面那个,$为取最后那个对象 不过用得比较少--> <s:iterator value="#request.listt5.{^#this.eplId>1}" var="em" > <s:property value="#em.eplId" /> <s:property value="#em.username" /><br> </s:iterator> </body></html>

转载于:https://www.cnblogs.com/xuedexin/articles/5677670.html

相关资源:数据结构—成绩单生成器
最新回复(0)