`
z_xiaofei168
  • 浏览: 200608 次
  • 性别: 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两部分

    ### Struts2 标签详解:表单UI与非表单UI #### 一、概述 Struts2作为Java Web开发中的一个重要框架,为开发者提供了丰富的标签库来简化Web页面的构建过程。根据官方文档所述,“UI标签又可以分为表单UI和非表单UI...

    struts2中文教程

    学习Struts2时,建议通过实际项目练习来加深理解,例如创建一个简单的登录注册系统,利用Struts2的Action、Interceptor和Result来处理用户交互,使用UI标签来构建用户界面。 总之,Struts2提供了一套完整的解决方案...

    struts2入门的学习资料.pdf

    4. **新表单标志的使用**: - Struts2支持多种表单标签,如`s:textfield`, `s:textarea`, `s:checkbox`, `s:radio`等,它们简化了HTML表单的创建。新的表单标志可能包括`display="none"`来隐藏元素,或者`required`...

    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中文学习资料

    "Strus 2的新表单标志的使用" 可能介绍了Struts2的最新版本中添加的一些新特性,如何利用这些新标签提升开发效率和用户体验。 通过这个系列教程,读者可以从基础到实战全面理解Struts2,学习如何构建高效、可维护...

    struts2课件

    - **设计理念:**Struts2的设计目标之一是让原本使用Struts1或WebWork的开发者能够平滑过渡到新的框架中,从而减少迁移成本。 #### 三、Struts2相较于Struts1的优势 - **低耦合性:**Struts2的设计更加注重减少与...

    Struts2项目--1.简单登录验证

    在JSP页面上,我们可以使用Struts2的标签库来展示表单和错误信息。例如,使用`&lt;s:form&gt;`标签创建登录表单,`&lt;s:textfield&gt;`定义输入框,`&lt;s:submit&gt;`创建提交按钮。如果存在错误信息,`&lt;s:actionerror&gt;`标签会显示...

    Struts2的总结和Strut2集成Spring

    Struts2提供了一些新的表单标签,如`&lt;s:checkboxlist/&gt;`, `&lt;s:doubleselect/&gt;`和`&lt;s:token/&gt;`,它们分别用于生成复选框列表、双重选择列表和防止跨站请求伪造的令牌。 #### 结论 Struts2与Spring的集成不仅增强了...

    Struts2教程(完整)

    - **版本演进**:最新的Struts2版本为2.1.x GA,标志着该框架不断成熟和完善的过程。 #### 二、Struts1与Struts2的主要区别 - **配置组件**: - **Struts1**:使用ActionServlet作为入口点,并通过struts-config...

    Struts2中文教程

    在Struts2中,"标志"通常指的是配置文件中的元素或注解,它们用来指定应用的行为。例如,`struts.xml`是Struts2的核心配置文件,其中包含了Action、Interceptor和结果类型等的定义。标志的正确设置对于正确地路由...

    struts2中文帮助文档

    这个“struts2中文帮助文档”是开发者在使用Struts2框架时的重要参考资料,它提供了全面的指导和解释,使得开发者能更好地理解和应用Struts2的功能。 在MVC模式中,Struts2充当控制器的角色,负责处理HTTP请求,...

    struts2

    Struts2作为Struts1的升级版,借鉴了WebWork框架的成功之处,特别是在WebWork2之后的革新中汲取灵感,引入了插件机制、拦截器、依赖注入以及POJO的开发模式,这些都标志着Struts2迈入了第二代Web框架的行列。Struts2...

Global site tag (gtag.js) - Google Analytics