- 浏览: 151257 次
- 性别:
- 来自: 深圳
文章分类
最新评论
-
hx0637:
楼主!小弟要面临面试了,能否指导下小弟?
面试 深圳一家公司的 -
kljismi:
你好,我现在正在开这项目的代码,但是我不明白@Privileg ...
权限管理模块分析 -
yzhw:
终于找到了
ImageSizer.java -
sunloveny:
国
struts国际化 -
jackotty:
谢谢楼主的分享
struts validator验证框架
struts标签的配置和使用
配置:
* 在struts-config.xml文件中加入
<message-resources parameter="MessageResources" />
* 拷贝MessageResources.properties文件到src下
使用:
* 采用taglib指令引入
<%@ taglib prefix="bean" uri="http://struts.apache.org/tags-bean"%>
<%@ taglib prefix="logic" uri="http://struts.apache.org/tags-logic"%>
MessageResources.properties
BeanWriteTestAction.java
User.java
Group.java
EmptyPresentTestAction.java
IterateTestAction.java
beanwrite.jsp
iterate.jsp
emptypresent.jsp
配置:
* 在struts-config.xml文件中加入
<message-resources parameter="MessageResources" />
* 拷贝MessageResources.properties文件到src下
使用:
* 采用taglib指令引入
<%@ taglib prefix="bean" uri="http://struts.apache.org/tags-bean"%>
<%@ taglib prefix="logic" uri="http://struts.apache.org/tags-logic"%>
MessageResources.properties
引用
# -- standard errors --
errors.header=<UL>
errors.prefix=<LI>
errors.suffix=</LI>
errors.footer=</UL>
# -- validator --
errors.invalid={0} is invalid.
errors.maxlength={0} can not be greater than {1} characters.
errors.minlength={0} can not be less than {1} characters.
errors.range={0} is not in the range {1} through {2}.
errors.required={0} is required.
errors.byte={0} must be an byte.
errors.date={0} is not a date.
errors.double={0} must be an double.
errors.float={0} must be an float.
errors.integer={0} must be an integer.
errors.long={0} must be an long.
errors.short={0} must be an short.
errors.creditcard={0} is not a valid credit card number.
errors.email={0} is an invalid e-mail address.
# -- other --
errors.cancel=Operation cancelled.
errors.detail={0}
errors.general=The process did not complete. Details should follow.
errors.token=Request could not be completed. Operation is not in sequence.
# -- welcome --
welcome.title=Struts Blank Application
welcome.heading=Welcome!
welcome.message=To get started on your own application, copy the struts-blank.war to a new WAR file using the name for your application. Place it in your container's "webapp" folder (or equivalent), and let your container auto-deploy the application. Edit the skeleton configuration files as needed, restart your container, and you are on your way! (You can find the application.properties file with this message in the /WEB-INF/src/java/resources folder.)
errors.header=<UL>
errors.prefix=<LI>
errors.suffix=</LI>
errors.footer=</UL>
# -- validator --
errors.invalid={0} is invalid.
errors.maxlength={0} can not be greater than {1} characters.
errors.minlength={0} can not be less than {1} characters.
errors.range={0} is not in the range {1} through {2}.
errors.required={0} is required.
errors.byte={0} must be an byte.
errors.date={0} is not a date.
errors.double={0} must be an double.
errors.float={0} must be an float.
errors.integer={0} must be an integer.
errors.long={0} must be an long.
errors.short={0} must be an short.
errors.creditcard={0} is not a valid credit card number.
errors.email={0} is an invalid e-mail address.
# -- other --
errors.cancel=Operation cancelled.
errors.detail={0}
errors.general=The process did not complete. Details should follow.
errors.token=Request could not be completed. Operation is not in sequence.
# -- welcome --
welcome.title=Struts Blank Application
welcome.heading=Welcome!
welcome.message=To get started on your own application, copy the struts-blank.war to a new WAR file using the name for your application. Place it in your container's "webapp" folder (or equivalent), and let your container auto-deploy the application. Edit the skeleton configuration files as needed, restart your container, and you are on your way! (You can find the application.properties file with this message in the /WEB-INF/src/java/resources folder.)
BeanWriteTestAction.java
package com.bjsxt.struts; import java.util.Date; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.struts.action.Action; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; /** * 测试BeanWrite * @author Administrator * */ public class BeanWriteTestAction extends Action { @Override public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { //普通属性 request.setAttribute("hello", "Hello World"); //html文本 request.setAttribute("bj", "<font color='red'>北京欢迎您</font>"); //日期 request.setAttribute("today", new Date()); //数字 request.setAttribute("n", 123456.987); //结构 Group group = new Group(); group.setName("尚学堂"); User user = new User(); user.setUsername("张三"); user.setAge(18); user.setGroup(group); request.setAttribute("user", user); return mapping.findForward("success"); } }
User.java
package com.bjsxt.struts; public class User { private String username1; private int age; private Group group; public String getUsername() { return username1; } public void setUsername(String username) { this.username1 = username; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public Group getGroup() { return group; } public void setGroup(Group group) { this.group = group; } }
Group.java
package com.bjsxt.struts; public class Group { private String name; public String getName() { return name; } public void setName(String name) { this.name = name; } }
EmptyPresentTestAction.java
package com.bjsxt.struts; import java.util.ArrayList; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.struts.action.Action; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; /** * 测试empty,notEmpty,present,notPresent * @author Administrator * */ public class EmptyPresentTestAction extends Action { @Override public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { request.setAttribute("attr1", null); request.setAttribute("attr2", ""); request.setAttribute("attr3", new ArrayList()); return mapping.findForward("success"); } }
IterateTestAction.java
package com.bjsxt.struts; import java.util.ArrayList; import java.util.List; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.struts.action.Action; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; /** * 测试Iterate * @author Administrator * */ public class IterateTestAction extends Action { @Override public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { Group group = new Group(); group.setName("尚学堂"); List userList = new ArrayList(); for (int i=0; i<10; i++) { User user = new User(); user.setUsername("user_" + i); user.setAge(18+i); user.setGroup(group); userList.add(user); } request.setAttribute("userlist", userList); return mapping.findForward("success"); } }
beanwrite.jsp
<%@ page language="java" contentType="text/html; charset=GB18030" pageEncoding="GB18030"%> <%@ taglib prefix="bean" uri="http://struts.apache.org/tags-bean"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=GB18030"> <title>测试BeanWrite</title> </head> <body> <h1>测试BeanWrite</h1> <hr> <li>普通字符串</li><br> hello(jsp脚本):<%=request.getAttribute("hello") %><br> hello(标签):<bean:write name="hello"/><br> <p> <li>html文本</li><br> bj(default):<bean:write name="bj"/><br> bj(filter="true"):<bean:write name="bj" filter="true"/><br> bj(filter="false"):<bean:write name="bj" filter="false"/><br> <p> <li>格式化日期</li><br> today(default):<bean:write name="today"/><br> today(format="yyyy-MM-dd HH:mm:ss"):<bean:write name="today" format="yyyy-MM-dd HH:mm:ss"/> <p> <li>格式化数字</li><br> n(default):<bean:write name="n"/><br> n(format="###,###.####"):<bean:write name="n" format="###,###.####"/><br> n(format="###,###.####"):<bean:write name="n" format="###,###.0000"/><br> <p> <li>结构</li><br> 姓名:<input type="text" value="<bean:write name="user" property="username"/>"><br> 年龄:<input type="text" value="<bean:write name="user" property="age"/>"><br> 所属组:<input type="text" value="<bean:write name="user" property="group.name"/>"><br> </body> </html>
iterate.jsp
<%@ page language="java" contentType="text/html; charset=GB18030" pageEncoding="GB18030"%> <%@ taglib prefix="bean" uri="http://struts.apache.org/tags-bean"%> <%@ taglib prefix="logic" uri="http://struts.apache.org/tags-logic"%> <%@ page import="java.util.*" %> <%@ page import="com.bjsxt.struts.*" %> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=GB18030"> <title>测试Iterate</title> </head> <body> <h1>测试Iterate</h1> <hr> <li>jsp脚本</li><br> <table border="1"> <tr> <td>姓名</td> <td>年龄</td> <td>所属组</td> </tr> <% List userList = (List)request.getAttribute("userlist"); if (userList == null || userList.size() == 0) { %> <tr> <td colspan="3">没有符合条件的数据!</td> </tr> <% }else { for (Iterator iter=userList.iterator(); iter.hasNext(); ) { User user = (User)iter.next(); %> <tr> <td><%=user.getUsername() %></td> <td><%=user.getAge() %></td> <td><%=user.getGroup().getName() %></td> </tr> <% } } %> </table> <p> <li>标签</li><br> <table border="1"> <tr> <td>姓名</td> <td>年龄</td> <td>所属组</td> </tr> <logic:empty name="userlist"> <tr> <td colspan="3">没有符合条件的数据!</td> </tr> </logic:empty> <logic:notEmpty name="userlist"> <logic:iterate id="u" name="userlist"> <tr> <td> <bean:write name="u" property="username"/> </td> <td> <bean:write name="u" property="age"/> </td> <td> <bean:write name="u" property="group.name"/> </td> </tr> </logic:iterate> </logic:notEmpty> </table> </body> </html>
emptypresent.jsp
<%@ page language="java" contentType="text/html; charset=GB18030" pageEncoding="GB18030"%> <%@ taglib prefix="logic" uri="http://struts.apache.org/tags-logic"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=GB18030"> <title>测试empty,notEmpty,present,notPresent</title> </head> <body> <h1>测试empty,notEmpty,present,notPresent</h1> <hr> <logic:empty name="attr1"> attr1为空<br> </logic:empty> <logic:notEmpty name="attr1"> attr1不为空<br> </logic:notEmpty> <logic:present name="attr1"> attr1存在<br> </logic:present> <logic:notPresent name="attr1"> attr1不存在<br> </logic:notPresent> <p> <logic:empty name="attr2"> attr2为空<br> </logic:empty> <logic:notEmpty name="attr2"> attr2不为空<br> </logic:notEmpty> <logic:present name="attr2"> attr2存在<br> </logic:present> <logic:notPresent name="attr2"> attr2不存在<br> </logic:notPresent> <p> <logic:empty name="attr3"> attr3为空<br> </logic:empty> <logic:notEmpty name="attr3"> attr3不为空<br> </logic:notEmpty> <logic:present name="attr3"> attr3存在<br> </logic:present> <logic:notPresent name="attr3"> attr3不存在<br> </logic:notPresent> </body> </html>
发表评论
-
权限管理模块分析
2009-01-08 13:51 2817巴巴运动网的后台权限管理模块主要采用了两大核心技术:java的 ... -
集成环境
2009-01-08 13:39 1090第13集:集成JPA环境 1 ... -
shop9\src\com\itcast\web\formbean\product
2009-01-06 21:03 2470BaseForm.java package com.itc ... -
shop9\src\com\itcast\utils\
2009-01-06 20:56 995SiteUrl.java package com.itca ... -
MD5.java
2009-01-06 20:50 834package com.itcast.utils; im ... -
package com.itcast.utils
2009-01-06 20:40 920DateConverter.java package com ... -
ImageSizer.java
2009-01-06 20:38 1049ImageSizer package com.itc ... -
shop9\src\com\itcast\web\filter
2009-01-06 20:23 1032SetCodeFilter.java package co ... -
shop9\WebRoot
2009-01-06 19:54 705<%@ page language="java ... -
shop9\WebRoot\WEB-INF
2009-01-06 19:47 1306Web.xml <?xml version=&quo ... -
package com.itcast.service.base;
2009-01-06 19:39 1363DAO.java package com.itcast.s ...
相关推荐
在“Struts2源码和标签使用和配置”这个主题中,我们将深入探讨以下几个关键知识点: 1. **Struts2框架基础**:Struts2的核心是Action类,它是业务逻辑的载体。通过配置Action,我们可以指定HTTP请求与哪个方法进行...
在压缩包中的"example"文件可能包含了一个或多个使用Struts2标签的实际示例,可以参考这些示例来理解和学习Struts2标签的用法。通过实践,你会更好地掌握这些标签的功能和用法,从而在开发过程中更加得心应手。
Struts标签是Apache Struts框架中的一个重要组成部分,它提供了一种简化JSP页面开发的方式,使得开发者能够更方便地...熟练掌握Struts标签的使用,不仅能提升开发效率,还能帮助构建出更加健壮和易于维护的Web应用。
总之,掌握Struts的配置和标签库是成为一名熟练的Java Web开发者的重要步骤。通过合理配置Struts,利用其丰富的标签库,可以有效地构建出结构清晰、易于维护的Web应用。对于初学者,理解并熟练运用这些知识,将大大...
开发者可以通过这个版本的文档和API来学习和使用Struts标签库。 6. **优势与注意事项** 使用Struts标签库能提高开发效率,减少JSP页面中的脚本代码,使页面更易于维护。然而,需要注意的是,随着Struts框架的发展...
Struts 是一个基于MVC(Model-View-Controller)设计模式的Java Web应用程序框架,它在Web开发领域具有广泛的应用。...理解并熟练运用Struts标签和配置,对于提升Java Web应用的开发效率和质量具有显著作用。
下面将详细阐述Struts2标签库的使用、功能和优势。 1. **Struts2标签库介绍** Struts2框架中的标签库是基于JSP标准标签库(JSTL)的扩展,它提供了一系列与动作、结果、表单和国际化相关的标签。这些标签能够帮助...
在配置Struts2时,通常会使用一个名为`struts.xml`的配置文件,该文件定义了应用程序的行为和组件。为了在开发环境中获得更好的代码辅助和提示,我们需要使IDE(例如Eclipse)理解`struts.xml`文件的结构,这通常...
### Struts2基本配置使用手册:深入解析与实践 #### 搭建Struts2.0的开发与运行环境 **一、环境准备** 在深入探讨Struts2.0的基本配置之前,首先需要确保开发环境的正确搭建。Struts2.0作为Struts框架的升级版,...
在Eclipse中配置Struts2项目(html)手把手教会你 如何在Eclipse中配置Struts2。 struts2 标签库介绍(html)对Struts2的...struts2和struts的比较 让你更清楚的知道struts2和struts的不同之处。 struts教程(html)
此外,还可以学习如何配置Struts2拦截器,结合标签库实现更强大的功能,如表单验证、国际化等。 总之,理解并熟练掌握Struts2.0标签的使用及其源码,能够帮助我们构建高效、易维护的Web应用程序,提升开发效率。...
Struts 2 标签的使用注意事项 Struts 2 是一个基于MVC架构的...使用Struts 2标签需要注意配置Struts 2的核心Filter和导入Struts 2标签库。同时,Struts 2标签的用法非常广泛,包括表单标签、验证标签、数据标签等。
在使用Struts标签时,需要确保已经导入了Struts的标签库,并且Action配置正确,这样才能正确地调用和展示数据。 在“struts标签.txt”文件中,可能包含了更多关于Struts标签的详细用法和示例。这些标签能够简化JSP...
Struts2是一个强大的MVC框架,它极大...通过熟练掌握Struts2标签的使用和EL表达式,可以显著提升开发效率,同时使Web应用的视图层更加整洁和易于维护。不断实践和理解这些知识点,将成为开发高质量Java Web应用的基础。
- **运行时表达式**:所有Struts标签属性都支持运行时表达式,但应避免使用scriptlet,正确使用例如`<html:link href='<%= "/" + name +"/index.jsp"'>`。 3. **Bean标签库的功能**: - **创建脚本变量**:从HTTP...
Struts2支持将配置文件进行模块化的管理,这意味着开发者可以将不同的功能或组件的配置放在单独的XML文件中,并通过`<include>`标签引用这些文件。这种方式有助于提高代码的可维护性和可读性,使得大型项目的配置...
在这个基于Struts2的自定义分页标签的实践中,我们将深入探讨如何创建、配置和使用自定义标签来实现数据的分页展示,同时与Oracle数据库进行交互。 首先,理解分页的基本概念至关重要。分页是将大量数据分成小块,...
- 在JSP页面上使用Struts标签库的元素与ActionForm对应字段绑定。 - 配置Struts配置文件(struts-config.xml),定义Action及其对应的ActionForm和结果页面。 - 使用Tiles定义页面布局,通过`<tiles:insert>`插入...
Struts标签是Apache Struts框架中的一个重要组成部分,它极大地简化了在JSP页面中处理动作和展示数据的过程。Struts标签库提供了丰富的标签,用于替代传统的JSP脚本元素,使得代码更易于阅读、维护,并提高了开发...