STRUTS2标签

引用

<%@ taglib prefix="s" uri="/struts-tags" %>
就能使用struts2.0的标签库

下面就介绍下每个标签的用法(有错请指正):
A:
<s:a xhref=""></s:a>-----超链接,类似于html里的<a></a>
<s:action name=""></s:action>-----执行一个view里面的一个action
<s:actionerror/>-----如果action的errors有值那么显示出来
<s:actionmessage/>-----如果action的message有值那么显示出来
<s:append></s:append>-----添加一个值到list,类似于list.add();
<s:autocompleter></s:autocompleter>-----自动完成<s:combobox>标签的内容,这个是ajax

B:
<s:bean name=""></s:bean>-----类似于struts1.x中的,JavaBean的值

C:
<s:checkbox></s:checkbox>-----复选框
<s:checkboxlist list=""></s:checkboxlist>-----多选框
<s:combobox list=""></s:combobox>-----下拉框
<s:component></s:component>-----图像符号

D:
<s:date/>-----获取日期格式
<s:datetimepicker></s:datetimepicker>-----日期输入框
<s:debug></s:debug>-----显示错误信息
<s:div></s:div>-----表示一个块,类似于html的<div></div>
<s:doubleselect list="" doubleName="" doubleList=""></s:doubleselect>-----双下拉框

E:
<s:if test=""></s:if>
<s:elseif test=""></s:elseif>
<s:else></s:else>-----这3个标签一起使用,表示条件判断

F:
<s:fielderror></s:fielderror>-----显示文件错误信息
<s:file></s:file>-----文件上传
<s:form action=""></s:form>-----获取相应form的值

G:
<s:generator separator="" val=""></s:generator>----和<s:iterator>标签一起使用

H:
<s:head/>-----在<head></head>里使用,表示头文件结束
<s:hidden></s:hidden>-----隐藏值

I:
<s:i18n name=""></s:i18n>-----加载资源包到值堆栈
<s:include value=""></s:include>-----包含一个输出,servlet或jsp页面
<s:inputtransferselect list=""></s:inputtransferselect>-----获取form的一个输入
<s:iterator></s:iterator>-----用于遍历集合

L:
<s:label></s:label>-----只读的标签
struts2标签是struts2的重点,和action配合使用,就是struts2的重点。偶第一次使用struts2,就觉得比jsp/servlet这样的方案,容易多了。在jsp放个input之类的文本框,在servlet中用request.getParameter()来获取值insert数据库,然后再用request.setAttribute()来给页面返回值。代码量非常可观。
    但struts2中就方便多了。偶一般的写法是这样的。写一个JAVA类继承ActionSupport,然后在JSP页面是就可以直接使用了。
例:<s:textfield name="" label="" />

   言归正传,struts2的标签分为UI标签和非UI标签。下面就struts2与html作个对比.在此推荐一个eclipse html插件
eclipse tidy: http://sourceforge.net/project/showfiles.php?group_id=68009

   文本框:
   Struts2:                  
          <s:textfield name="" label="" />
          如果是日期型,可使用<s:date name="Date" format="yyyy-MM-dd" />
          由于struts2支持使用el表达式,所以也textfield可写
          <s:textfield name="Date" label="Date" value={Date} />
   HTML:
          <input type="text" name="textfield1">

列表框:

Struts2:

固定值:

<s:select
            tooltip="Choose Your Favourite Color"
            label="Favorite Color"
            list="{'Red', 'Blue', 'Green'}"
            name="favoriteColor"
            emptyOption="true"
            headerKey="None"
            headerValue="None"/>

动态列表:
           <s:select
            tooltip="Choose Your Favourite Language"
            label="Favourite Language"
            list="favouriteLanguages"
            name="favouriteLanguage"
            listKey="key"
            listValue="description"
            emptyOption="true"
            headerKey="None"
            headerValue="None"/>

注:如果采用动态列表,必须用action访问,如果用JSP访问会报错.

list指action中的list、map等集合类,

listKey相当于html中的value

listValue相当于html中select显示的值

emptyOption是否为空

headerKey、headerValue 初始的键、值



HTML:

<select name="lst_QproProduce" id="lst_QproProduce">
             <option value="1" selected>英语</option>

<option value="2" selected>汉语</option>

</select>

URL参数传递:
   Struts2:                  
          <s:praram  name="test" value="testValue" />
          例:<a href='<s:url="test.action">
             <s:param name="test" value="testValue"/></s:url> '> urlTest </a>
   HTML:
          url?name = testValue
          例:192.168.1.1/test.action?name=testValue
                日期下拉框:
   Struts2:                  
     <s:datetimepicker
        label="toggleType='wipe'"
        value="${orderMain.orderDate}"
        toggleType="wipe"
        toggleDuration="300"
        displayFormat="yyyy-MM-dd"
        name="orderMain.orderDate"/>
     说明:${orderMain.orderDate}取类的值,这个参数也可不写,用name就可以。
     使用该tag时要在</head>前要加入<s:head/>。

   HTML:
      只能用js写了.事实上struts2 的datetimepicker也是js的封装.
       隐藏域:

strut2:

<s:hidden name="Value"/>

HTML:

<input type="hidden" name="orderMain.orderId" value="1" />

            
   另外,struts2的tag是默认在enter时自动提交表单,要屏蔽此功能。在onkeydown事件中加入键盘触发代码。
例:if(event.keyCode==13) event.keyCode=9;就是将回车转成tab键.
还有一种方法更为简便方法:
//回车转Tab
function EnterTabGlobal(){
  document.onkeydown=function keyDown(){
        if(event.keyCode==13)
         event.keyCode=9
       }
}
//在onLoad执行


M:
<s:merge></s:merge>-----合并遍历集合出来的值

O:
<s:optgroup></s:optgroup>-----获取标签组
<s:optiontransferselect doubleList="" list="" doubleName=""></s:optiontransferselect>-----左右选择框

P:
<s:param></s:param>-----为其他标签提供参数
<s:password></s:password>-----密码输入框
<s:property/>-----得到'value'的属性
<s:push value=""></s:push>-----value的值push到栈中,从而使property标签的能够获取value的属性

R:
<s:radio list=""></s:radio>-----单选按钮
<s:reset></s:reset>-----重置按钮

S:
<s:select list=""></s:select>-----单选框
<s:set name=""></s:set>-----赋予变量一个特定范围内的值
<s:sort comparator=""></s:sort>-----通过属性给list分类
<s:submit></s:submit>-----提交按钮
<s:subset></s:subset>-----为遍历集合输出子集

T:
<s:tabbedPanel id=""></s:tabbedPanel>-----表格框
<s:table></s:table>-----表格
<s:text name=""></s:text>-----I18n文本信息
<s:textarea></s:textarea>-----文本域输入框
<s:textfield></s:textfield>-----文本输入框
<s:token></s:token>-----拦截器
<s:tree></s:tree>-----树
<s:treenode label=""></s:treenode>-----树的结构

U:
<s:updownselect list=""></s:updownselect>-----多选择框
<s:url></s:url>-----创建url


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/kinglino520/archive/2009/09/02/4510092.aspx

你可能感兴趣的:(eclipse,html,jsp,UI,servlet)