根据Struts2所写的标签,所写例子

 

Struts2标签实例及常见错误_struts2标签 Struts2标签实例及常见错误_struts2_02 Struts2标签实例及常见错误_struts2标签_03

1、list集合中的value值不需要加#

2、标签属性不全,name属性不许有否则就会报出黄匡错误

3、这个错误是在第190行,在value的值内没有加单引号value=”’push标签’”

<body>

<div align="center">
<h3>
eongl标签使用
</h3>
传过来的值:
<br />
request:
<s:property value="#request.username" />
<br />
session:
<s:property value="#session.username" />
<br />
application:
<s:property value="#application.username" />
<br />
 
传过来的对象值:
<br />
request:
<s:property value="#request.user['name']" />
<br />
session:
<s:property value="#session.user['name']" />
<br />
application:
<s:property value="#application.user['name']" />
<br />
</div>
<div>
<h3>
OGNL提供的对集合的操作符
</h3>
<br />
Map集合:
<br />
 
<s:iterator value="#{1:'东方不败',2:'独孤求败',3:'天哉地哉'}" var="entity">
<s:property value="#entity.key" />
<s:property value="#entity.value" />
</s:iterator>
 
<br />
and
<br />
<s:iterator value="#{1:'东方不败',2:'独孤求败',3:'天哉地哉'}">
<s:property value="key" />
<s:property value="value" />
</s:iterator>
<br />
 
<h5>
Map集合的拼接
</h5>
 
<s:append var="newMap">
<s:param
value="#{'HTML入门':'redarmy','Java基础':'baobao','CSS入门':'李慧','JavaWeb实战':'yq'}"></s:param>
<s:param value="#{'HIbernate教程':'李刚','Struts2教程':'redarmy'}"></s:param>
</s:append>
 
<table border="1px" cellpadding="1px" cellspacing="1px">
<caption>
图书信息2
</caption>
<tr>
<th>
图书名称
</th>
<th>
图书作者
</th>
</tr>
 
<s:iterator value="#newMap">
 
<tr>
<td>
<s:property value="key" />
</td>
<td>
<s:property value="value" />
</td>
 
</tr>
</s:iterator>
 
</table>
 
</div>
 
<div align="right">
<h3>
构造List集合:
</h3>
<s:iterator value="{'java','3G','php','.net'}" var="hbsi">
<s:property value="hbsi" />
</s:iterator>
 
<br />
and
<br />
<s:iterator value="{'java','3G','php','.net'}">
 
<s:property />
 
</s:iterator>
</div>
 
<div align="center">
<h3>
单选按钮需要加上name属性,否则只能出现默认值,不能修改
</h3>
<s:radio list="#{'w':'女','m':'男'}" listKey="key" listValue="value"
name="sex" value="'w'">
</s:radio>
<s:radio list="{'男','女'}" value="'女'" name="sex2" />
 
<h3>
多选按钮list
</h3>
<s:checkboxlist name="many" list="{'吃','喝','玩','乐'}"
value="{'吃','玩'}">
</s:checkboxlist>
<h3>
多选按钮map
</h3>
<s:checkboxlist name="toomany" list="#{1:'吃',2:'喝',3:'玩',4:'乐'}"
value="{1,2}" />
<h3>
多选按钮
</h3>
<s:checkbox label="吃" name="eat" />
<s:checkbox label="喝" name="drink" />
<s:checkbox label="玩" name="play" />
<s:checkbox label="乐" name="happy" />
 
<h3>
下拉列表 map
</h3>
<s:select list="#{'01':'java','02':'3G','03':'php','04':'.net'}"
label="Projects" name="projects" headerKey="-1" headerValue="请选择专业" 
value="selectProject" required="true"/>
            <h3>
下拉列表 list
</h3>
<s:select list="{'java','php','3G','.net'}" name="select" headerKey="-1" 
headerValue="请选择专业" required="true" label="Projects"/>
<h3>if标签</h3><!--这个是一个相反的判断,判断这个java不在这个里面,为真,则输出java在集合中,否则相反
-->
<s:if test="'Java' not in {'Java','Net'}">
 java在集合中
</s:if>
<s:else>
java不在集合中
</s:else>
<h3>Set标签</h3>
<!-- set标签里如果我加上scope标签就会显示不出所要显示的内容,就是property的值 -->
<s:set var="msg" value="'www<hr/>wwwwwwwwww'"></s:set>
<s:property value="msg" escape="false"/>
<h3>push标签</h3>
<!--push代表在堆栈的顶部设置值,需要在push里面使用property方法获取值,否则获取的是堆栈的顶部对象  -->
<s:push value="'push标签'">
     <s:property/><!-- 默认获取堆栈顶部的值 -->
   </s:push>
<h3>Bean标签</h3>
<!-- name表示所需要的实体类,必须是全名,var代表用来引用值推入值栈 -->
<s:bean name="www.hbsi.struts_tags.domain.User" var="myUser">
<s:param name="id" value="'1'"></s:param>
<s:param name="name" value="'liuxg'"></s:param>
<s:param name="pass" value="'123'"></s:param>
<s:param name="sex" value="'nv'" />
<s:param name="email" value="liuxg@qq.com"></s:param>
<!-- 这个示例bean实例化一个名为User类  id、name、pass、sex、email并设置属性(set方法()给他赋值)。
这个User对象然后推到过程中保存到Valuestack中,
这意味着我们可以叫它的访问器方法(get方法())和属性标记并获得他们的values。 -->
输出:
<s:property value="name" />
</s:bean><br />
<s:property /><!--输出默认的 com.opensymphony.xwork2.DefaultTextProvider@cdf0a6  --><br />
<s:property value="#myUser.name" /><br />
<s:set var="user" value="#myUser"></s:set>
<s:property value="#user.name"/>
<h3>iterator标签</h3>
<table border="1px">
<s:iterator value="{'java','3G','php','net'}" var="name" status="st">
<tr class="<s:property value='#st.even?"even":"odd"'/>">
<td>
<s:property value="name"/>
</td>
</tr>
</s:iterator>
</table>
</div>
           
       
        
 
</body>