`
z_xiaofei168
  • 浏览: 198278 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Strus 2的新表单标志的使用

阅读更多

Strus 2的新表单标志的使用

       Struts 2为大家提供了不少常用的很酷的表单标志,简化了我们程序员的工作。不过,由于这些都是新标志,大家可能在使用上还存在不少疑问表单标志使用小技巧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直接访问。

 

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

 

下面做个简单的案例:

 

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib uri="/struts-tags" prefix="s"%>   
<%
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>
    <base href="<%=basePath%>">
    
    <title>My JSP 'reg.jsp' starting page</title>
    
	<meta http-equiv="pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0">    
	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
	<meta http-equiv="description" content="This is my page">
	<!--
	<link rel="stylesheet" type="text/css" href="styles.css">
	-->

  </head>
  
  <body>
      <div align="center">
         <div>
            <h1>注册页面</h1>
            <div>
            <!-- form表单 -->
            <s:form theme="xhtml" action="insert" namespace="/csdn">
              <!--名称-->
              <s:textfield name="user.name" key="user.name" tooltip="请输入名称" 

tooltipDelay="5000" ></s:textfield>
              <!--密码-->
              <s:password name="user.pass" key="user.pass"></s:password> 
              <s:password name="user.cpass" key="user.cpass"></s:password> 
              <!-- 性别 -->
              <s:radio name="user.sex" list="{'男','女'}" value="'男'" 

key="user.sex"></s:radio>
              <!--学历 -->
              <s:select list="{'博士','硕士','本科','大专','中专','高中'}" 

name="user.education" key="user.education" value="'本科'">    
              </s:select>
              
              <!-- 邮箱 -->
              <s:textfield name="user.email" key="user.email"></s:textfield>
              
              <!-- 地址 -->
              <s:doubleselect doubleList="top=='北京'?{'海淀','朝阳'}:{'保定','石家

庄'}" list="{'北京','河北'}" doubleName="state" key="user.city" 

name="user.city"></s:doubleselect>
              
              <!-- 出生日期 -->
              <s:textfield name="user.birth" key="user.birth"></s:textfield>
              
              <!-- 用户爱好 -->
             <s:checkboxlist name="user.favs" list="#{1:'打篮球',2:'排球',3:'足球'}" 

listKey="key" listValue="value" key="user.favs"></s:checkboxlist>
             
             <!-- 用户介绍 -->
             <s:textarea cols="18" rows="10"  name="user.intro" key="user.intro">
             
             </s:textarea>
              <!-- 提交文本 -->
              <s:submit key="submit"></s:submit>
            </s:form>
           
           <!-- 这个标志可能大家不常用,不过本人认为它还是挺有用的。在使用Struts 1.x时

,
           		因为跳转通常是用Forward(而不是Redirect)实现的,
           		所以当用户完成请求后,按“F5”刷新页面时,就会重新提交上次的请

求,这样经常会出错。
           		要解决这个问题,<s:token />可以帮你忙。
            -->
           <s:token></s:token>
            </div>
         </div>
      </div>
  </body>
</html>

  

3
6
分享到:
评论

相关推荐

    struts2帮助文档

    struts2的新表单标志的使用 struts2与AJAX一 struts2与AJAX二 struts2与AJAX三 struts2中用Spring实现IOC struts2中的零配置与IOC struts2介绍之使用连接标签 struts2入门 struts2进阶学习一 struts2进阶学习二 ...

    个人认为目前最完备的Struts2教程

    01 为Struts 2.0做好准备 02 常用的Struts 2.0的标志(Tag) 03 Struts 2.0的Action讲解 04 在Struts 2.0中国际化(i18n)您的应用程序 05 转换器(Converter)——...12 Struts 2的新表单标志的使用 13 Struts 2与AJAX

    struts2.0中文教程

    01 为Struts 2.0做好准备 02 常用的Struts 2.0的标志(Tag) 03 Struts 2.0的Action讲解 04 在Struts 2.0中国际化(i18n)您的应用程序 05 转换器(Converter)——...12 trus 2的新表单标志的使用 13 Struts 2与AJAX

    Struts 2.0系列(MAX)

    Struts 2.0系列(MAX),pdf格式,全方位介绍struts2: 常用的Struts 2.0的标志(Tag)介绍 Struts 2.0的Action讲解 在Struts 2.0中国际化(i18n)您的应用程序 ...Strus 2的新表单标志的使用 Struts 2与AJAX

    Struts2标签 UI标志又可以分为表单UI和非表单UI两部分

    UI标志又可以分为表单UI和非表单UI两部分。表单UI部分基本与Struts 1.x相同,都是对HTML表单元素的包装。不过,Struts 2.0加了几个我们经常在项目中用到的控件如:datepicker、doubleselect、timepicker、...

    Struts2.0中文教程权威版

    Struts 2权威指南——第1章 Struts 2...12 trus 2的新表单标志的使用 13 Struts 2与AJAX Struts2中用Spring实现IoC.doc Struts2中的零配置与CoC(Convention over Configration).doc Struts2介绍之使用链接标签.doc

    Struts2介绍文档

    Struts2基本使用介绍,Strut2.0的由来,常用标签介绍,Action介绍,Struts + Spring + hibernate,表单标志使用小技巧,实现原理,具体实现,更多配置,错误处理,多文件上传等。。。。。

    struts2(checkbox_radio_select)表单标签的应用及详细事例

    要在JSP中使用Struts 2.0标志,先要指明标志的引入。通过在JSP的代码的顶部加入以下代码可以做到这点。 &lt;%@taglib prefix="s" uri="/struts-tags" %&gt;

    struts2.0很全面的中文教程

    2.常用的Struts 2.0的标志(Tag)介绍 3.Struts 2.0的Action讲解 4.在Struts 2.0中国际化(i18n)您的应用程序 5.转换器(Converter)——Struts 2.0中的魔术师 在6.Struts 2.0中实现表单数据校验(Validation) 7...

    Struts in Action中文版

    2. 深入 STRUTS架构..................................................................................37 2.1. 随便谈谈......................................................................................

    struts in Action

    2. 深入STRUTS 架构..................................................................................37 2.1. 随便谈谈.......................................................................................

    JavaEE/J2EE面向对象实战之道

    表现层的界面表单中通常是一些离散数据,也就是单个字段数据,通过Struts等框架提供ActionForm以及标签库,将这些单个字段数据封装起来和业务层的DomainModel进行了映射,因此,表现层的主要编程工作就是映射配置。...

    java面试宝典

    141、使用useBean标志初始化BEAN时如何接受初始化参数 36 142、使用JSP如何获得客户浏览器的信息? 36 143、能象调用子程序一样调用JSP吗? 36 144、当我重编译我的JSP使用的一个类后,为什么JVM继续使用我的老CLASS...

    超级有影响力霸气的Java面试题大全文档

    新类继承了原始类的特性,新类称为原始类的派生类(子类),而原始类称为新类的基类(父类)。派生类可以从它的基类那里继承方法和实例变量,并且类可以修改或增加新的方法使之更适合特殊的需要。 3.封装:  封装...

    千方百计笔试题大全

    141、使用useBean标志初始化BEAN时如何接受初始化参数 36 142、使用JSP如何获得客户浏览器的信息? 36 143、能象调用子程序一样调用JSP吗? 36 144、当我重编译我的JSP使用的一个类后,为什么JVM继续使用我的老CLASS...

    JAVA面试题最全集

    1.Web安全性的考虑(表单验证、浏览器Basic方式的验证,应用程序的安全性,SSL,代码考虑) 2.简单介绍您所了解的MVC。 3.简单介绍所了解的XML。 4.文档和编码规范 5.Java中的分页、效率考虑。 6.简单介绍您所...

    java 面试题 总结

    新类继承了原始类的特性,新类称为原始类的派生类(子类),而原始类称为新类的基类(父类)。派生类可以从它的基类那里继承方法和实例变量,并且类可以修改或增加新的方法使之更适合特殊的需要。 3.封装: 封装是把...

Global site tag (gtag.js) - Google Analytics