Struts 2 标签使用的总结

今天想写select 从后台传过来的值和查出来的list自动选择,费了我老大劲了,最后解决了感觉好简单啊!

									<s:select list="userList"
										listKey="id"
										listValue="user_name"
										name="post.post_author"
										value="%{post.post_author}"
										id="squardorder">
									</s:select>

就可以了感觉自己好笨啊

<!-- 									<input type="text" class="form-control" name="post.post_author" -->
<!-- 										id="inputPassword3" placeholder="Enter author here" -->
<%-- 										value="${ post.post_author }"> --%>
									<!--<select id="squardorder" class="form-control" name="post.post_author">
										<s:iterator id="userList" value="userList" >
										
											<option value="<s:property value="#userList.id"/>"><s:property
 													value="#userList.user_name" /></option> 
 										</s:iterator> 
 									</select> -->

所以现在我想总结一些标签以后来用

%@ 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:                   
          <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.οnkeydοwn=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



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Struts2 是一个开源的 Java Web 框架,用于构建企业级应用程序。它提供了一组用于简化 Web 应用程序开发的工具和框架。 Hibernate 是一个开源的 Java 持久层框架,用于简化数据操作。它提供了一组用于管理数据实体对象的工具和框架。 struts2+hibernate项目是用struts2来构建前端界面,用hibernate来管理数据交互的项目。 ### 回答2: Struts2和Hibernate都是常用的Java开发框架,可以通过结合使用来构建Web应用程序。 Struts2是一个基于MVC设计模式的框架,它将应用程序分成三个部分:模型(Model)、视图(View)和控制器(Controller)。在Struts2中,模型表示数据,视图定义了如何呈现数据,控制器负责处理用户的请求并更新模型和视图。通过使用Struts2,可以将业务逻辑与视图分离,提高代码的可维护性和可重用性。 Hibernate是一个开源的对象关系映射(ORM)框架,它提供了一种将对象模型映射到关系数据的机制,从而实现对数据的访问和操作。使用Hibernate,开发人员可以通过简单的配置文件描述对象和数据表之间的映射关系,Hibernate会自动执行SQL语句并将结果映射回Java对象。通过使用Hibernate,可以简化数据访问的过程,提高开发效率。 在一个项目中同时使用Struts2和Hibernate可以发挥它们各自的优势。Struts2可以负责用户请求的处理和页面的呈现,而Hibernate可以负责数据的持久化和访问。使用Struts2和Hibernate,可以将应用程序分成多个模块,每个模块负责特定的功能,进一步提高代码的可维护性和可重用性。 总结而言,Struts2和Hibernate是两个功能强大的Java开发框架,可以互补使用来构建高效且易于维护的Web应用程序。 ### 回答3: Struts2和Hibernate是常用于开发Java Web应用的两个框架。它们分别负责解决Web层和持久层的问题。 Struts2是一个基于MVC(Model-View-Controller)架构的Web框架,用于处理Web层的业务逻辑。它通过将请求和响应分派给相应的Action类来处理用户的请求。Struts2提供了丰富的标签和拦截器机制,使开发人员可以轻松地实现表单验证、权限控制、数据封装等公共功能。此外,Struts2采用了面向对象的设计思想,开发者可以通过自定义Action类和拦截器来实现更加灵活和可扩展的功能。 Hibernate是一个优秀的对象关系映射(ORM,Object-Relational Mapping)框架,用于解决持久层的问题。它将Java对象和数据表之间的映射关系进行了封装,并提供了一系列API供开发人员操作数据使用Hibernate,开发者可以通过对象的方式操作数据,而无需编写复杂的SQL语句。Hibernate还提供了缓存和事务管理等功能,用于提高数据访问的性能和可靠性。 结合使用Struts2和Hibernate可以将Web层和持久层完美地结合在一起。Struts2负责用户请求的处理和业务逻辑的控制,而Hibernate负责数据的操作和数据的持久化。开发人员只需在Struts2的Action类中调用Hibernate的API,即可完成数据的读取、插入、更新和删除等操作。通过这种方式,开发人员可以专注于业务逻辑的实现,而无需关注底层的数据细节。这种结合使用的方式可以极大地提高开发效率,并且使代码的维护更加方便。最重要的是,使用Struts2和Hibernate可以使应用的开发变得更加规范和模块化,提高了代码的可重用性和可测试性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值