Struts2 UI标签

Struts 2的表单标志在输出(render)HTML时,使用了模板的概念,增加了复杂性(因为它不像Struts 1.x的表单标志,它通常都是一个标志对应HTML的一个元素),因此大家在使用时,需要一些技巧:

  1. Struts 2的UI标志的表单标志默认是以表格布局,按钮是右对齐的。如果你不喜欢此风格,你可以简单地将<s:form />标志的“theme”属性设为“simple”,然后用以往的做法自已布局表单元素(注意:此法有利有弊,弊就是当你将“theme”属性设为“simple”时,表单标志以最简单方式输出HTML,所以你可能失去一些默认输出提供的便利,如:友好的错误信息的显示,或客户端的表单验证等)。当然更好的做法是通过CSS或自定义主题(theme)然后应用到整个应用程序,这样可以获得一致的页面风格,加强用户体验(我会在以后的文章对此进行讲解);
  2. 当你在页面上加入某些标志(如:<s:doubleselect />等)时,应该通过action来访问页面,而不是通过*.jsp的URL直接访问。

下面我将分别对这些标志进行讲述:

1、<s:checkboxlist/>
<s:checkboxlist list="books" id="mybook" name="chebook" listKey="bid" listValue="bname" label="请选择图书"/>
大家对<s:checkboxlist />的最大的疑问可能是:“如何在默认情况下,选中某些checkbox?”
答案其实很简单,只需要将其“value”属性设为你的要选中的值。

 

2、<s:doubleselect />

定义一个Map类型的对象,键为“list”的集合,值则为“doubleList”的集合,然后“doubleList”的OGNL写成“#myMap[top]。

 

3、<s:token/>

这个标志可能大家不常用,不过本人认为它还是挺有用的。在使用Struts 1.x时,因为跳转通常是用Forward(而不是Redirect)实现的,所以当用户完成请求后,按“F5”刷新页面时,就会重新提交上次的请求,这样经常会出错。要解决这个问题,<s:token />可以帮你忙。

 

4、<s:select/>

<s:select list="books" listKey="bid" listValue="bname" label="下拉选择" name="aa"/>

 

5、<s:radio/>

<s:radio label="单选按钮" list="books" listKey="bid" listValue="bname" name="gga"/>

 

6、<s:updownselect/>

<s:updownselect list="books" listKey="bid" listValue="bname" label="可移动列表"
     selectAllLabel="全部选择" moveDownLabel="向下移动" moveUpLabel="向上移动"
    name="ffg"/>

 

7、<s:combobox/>

<s:combobox list="books" label="请选择图书" listValue="bname" listKey="bid" name="combook" labelposition="top"

 

8、<s:datetimepicker/>

<s:datetimepicker name="chooseDate" label="日期选择"/>

你可能感兴趣的:(html,UI,jsp,struts,css)