- 浏览: 578181 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (411)
- webservice (3)
- oracle (37)
- sqlserver (8)
- j2ee (56)
- linux (7)
- javaweb (47)
- office (1)
- struts (23)
- hibernate (11)
- spring (29)
- 网络 (2)
- tomcat (13)
- tongweb (0)
- weblogic (0)
- powerdesiginer (3)
- svn (3)
- js (20)
- ie (2)
- 编译 (3)
- css (2)
- 操作系统 (5)
- Android (41)
- jbpm4.3 (1)
- fckeditor (3)
- 操作excel (2)
- db2常用命令 (1)
- ibatis (5)
- mysql (16)
- 表达式语言 (1)
- java方式调用存储过程 (1)
- ca (1)
- linux客户端 (1)
- 电子数码 (1)
- 行业应用 (12)
- 开发工具 (4)
- 面试 (1)
- 计算机原理 (1)
- NOSQL (5)
- 虚拟机 (1)
- nginx (0)
- velocity (2)
- jndi (1)
- spring mvc (39)
- springmvc (32)
- 安全 (5)
- htmleditor (6)
- iphone4 (1)
- html (4)
- jstl (2)
- ckeditor (5)
- 连接池 (1)
- jquery (6)
- 分页 (1)
- 技术研发规则 (1)
- javamail (1)
- maven (2)
- upload (1)
- log (1)
- 测试 (10)
- spring roo (1)
- 版本控制 (2)
- find bugs (0)
- jsf (0)
- springroo (0)
- 小道理 (1)
- 小道理,技术标准 (1)
- jsf (0)
- bitbao (2)
- redmine (3)
- 团队意识 (1)
- mybatis (2)
- jquery mobile (1)
- flexpaper (0)
- json (4)
- URLRewriteFilte (1)
- html5 (1)
- 都乐保活动 (0)
- openfire (0)
- TreeMap (1)
- build (0)
- javaweb,tag (0)
- algorithm (1)
- tag (2)
- 扯淡 (0)
- mac (2)
- 叶一火(老一) (1)
- 游玩 (1)
- 编码 (1)
- 上线部署 (0)
- 研发管理 (0)
- thumbnailator (2)
- 旅游 (0)
- bingweibo (1)
- 杂谈 (4)
- ktv (1)
- weibo (1)
- 爱情 (2)
- 饮食 (1)
- MediaWiki (1)
- git (1)
- 版本库 (1)
- servlet (1)
- 感悟 (1)
- 人生 (1)
- highcharts (1)
- poi (0)
- websphere (0)
- php (1)
最新评论
-
woshixushigang:
good
org.springframework.beans.TypeMismatchException: Failed to convert property valu -
nathanleewei:
org.springframework.jdbc.core.B ...
org.springframework.beans.TypeMismatchException: Failed to convert property valu -
浪禾木:
请问是ckeditor\contents.css吗?改过以后 ...
ckeditor自动换行问题 -
simusuishi:
刚哥威武!
ckeditor取值赋值问题 -
a455642158:
收割完毕……
Android开源项目源码下载(不断更新中)
最近一直再做struts2的项目,一年前做的struts1林业项目但是现在有些忘记了,重新整理下。
配置一个struts1有以下几个步骤:
1.导入依赖库,也可以用Myeclipse自带的模式增加struts1 功能。
2.编写struts-config.xml
3.配置web.xml。
4.进行编码工做。
struts-config.xml
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN" "http://struts.apache.org/dtds/struts-config_1_2.dtd"> <struts-config> <data-sources /> <!-- 指明struts1 表单pojo 该pojo需要继承org.apache.struts.action.ActionForm--> <form-beans > <form-bean name="userLoginForm" type="com.yourcompany.struts.form.UserLoginForm" /> </form-beans> <global-exceptions /> <global-forwards /> <action-mappings > <action attribute="userLoginForm" input="/userLogin.jsp" name="userLoginForm" path="/userLogin" scope="request" type="com.yourcompany.struts.action.UserLoginAction" validate="true" > <forward name="failed" path="/userLogin.jsp" /> <forward name="success" path="/userLoginSuccess.jsp" /> </action> <!-- <action>部分是说明action的属性。 Type 指定Action的类名,负责处理此次form表单请求的类 Name 指定Action主力的ActionForm名,与<form-beans >元素的name属性匹配。 Scope 指定ActionForm存在的范围, (request, application) Input 指定包含客户提交表单的网页,如果ActionForm的Validate方法返回错误,则因该把用户 请求转发到这个网页。 Validate 如果取值为true,则表示ActionServlet应该调用ActionForm的validate方法 Forward 就是Action的execute方法执行完毕后,把客户请求在转发给相应的页面。 --> </action-mappings> <!--指定资源文件路径--> <message-resources parameter="com.yourcompany.struts.ApplicationResources" /> </struts-config>
web.xml
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.5" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> <servlet> <servlet-name>action</servlet-name> <servlet-class>org.apache.struts.action.ActionServlet</servlet-class> <init-param> <param-name>config</param-name> <param-value>/WEB-INF/struts-config.xml</param-value> </init-param> <init-param> <param-name>debug</param-name> <param-value>3</param-value> </init-param> <init-param> <param-name>detail</param-name> <param-value>3</param-value> </init-param> <load-on-startup>0</load-on-startup> </servlet> <servlet-mapping> <servlet-name>action</servlet-name> <url-pattern>*.do</url-pattern> </servlet-mapping> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> </web-app>
action
/* * Generated by MyEclipse Struts * Template path: templates/java/JavaClass.vtl */ package com.yourcompany.struts.action; 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; import com.yourcompany.struts.form.UserLoginForm; /** * MyEclipse Struts * 徐士刚 * * XDoclet definition: * @struts.action path="/userLogin" name="userLoginForm" input="/userLogin.jsp" scope="request" validate="true" * @struts.action-forward name="failed" path="/userLogin.jsp" * @struts.action-forward name="success" path="/userLoginSuccess.jsp" */ public class UserLoginAction extends Action { /* * Generated Methods */ /** * Method execute * @param mapping * @param form * @param request * @param response * @return ActionForward */ public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) { UserLoginForm userLoginForm = (UserLoginForm) form;// TODO Auto-generated method stub if(userLoginForm.getUsername().equals("myeclipse") && userLoginForm.getPassword().equals("myeclipse")) { request.setAttribute("userName", userLoginForm.getUsername()); return mapping.findForward("success"); } return mapping.findForward("failed"); } }
form
/* * Generated by MyEclipse Struts * Template path: templates/java/JavaClass.vtl */ package com.yourcompany.struts.action; 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; import com.yourcompany.struts.form.UserLoginForm; /** * MyEclipse Struts * 徐士刚 * * XDoclet definition: * @struts.action path="/userLogin" name="userLoginForm" input="/userLogin.jsp" scope="request" validate="true" * @struts.action-forward name="failed" path="/userLogin.jsp" * @struts.action-forward name="success" path="/userLoginSuccess.jsp" */ public class UserLoginAction extends Action { /* * Generated Methods */ /** * Method execute * @param mapping * @param form * @param request * @param response * @return ActionForward */ public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) { UserLoginForm userLoginForm = (UserLoginForm) form;// TODO Auto-generated method stub if(userLoginForm.getUsername().equals("myeclipse") && userLoginForm.getPassword().equals("myeclipse")) { request.setAttribute("userName", userLoginForm.getUsername()); return mapping.findForward("success"); } return mapping.findForward("failed"); } }
以下是struts1的国际化详解与上面的例子不一致
步骤1:配置struts国际化
在struts-config.xml中配置message-resources标签
<message-resource parameter="MessageResource"/>
其中的参数是国际化配置文件MessageResource.properties的文件名。
步骤2:提供国际化配置文件
中文:MessageResource_zh_cn.properties
英文:MessageResource_en_us.properties
源文件:resource.properties表示中文信息
在源文件resource.properties中硬编码中文信息
user.title=用户登录
user.username=用户
user.password=密码
user.button.login=登录
然后用java中提供的工具把这些信息转换为unicode放到相应国际化文件中。
MessageResource_zh_cn.properties文件中
user.title=\u7528\u6237\u767b\u5f55
user.username=\u7528\u6237
user.password=\u5bc6\u7801
user.button.login=\u767b\u5f55
MessageResource_en_us.properties文件中
user.title=User Login
user.username=User Name
user.password=Password
user.button.login=Login
步骤3:在jsp页面上用struts标签<bean:message>来读取国际化消息文本
引入标签:
<%@ taglib prefix="bean" uri="http://struts.apache.org/tags-bean"%> <form action="login.do" method="post"> <bean:message key="user.username"/>:<input type="text" name="username"><br> <bean:message key="user.password"/>:<input type="password" name="password"><br> <input type="submit" value="<bean:message key="user.button.login"/>"> </form>
bean:message中的属性key指的是国际化文件中的键。
一个local对应一个session
二,国际化的切换
jsp页面:
<a href="changelang.do?lang=zh">中文</a>
   <a href="changelang.do?lang=en">英文</a>
添加一个Action:
public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { String lang = request.getParameter("lang"); //得到Locale Locale currentLocale = Locale.getDefault(); if ("zh".equals(lang)) { //自定义Locale currentLocale = new Locale("zh", "CN"); }else if("en".equals(lang)) { currentLocale = new Locale("en", "US"); } //自己设置Locale //request.getSession().setAttribute(Globals.LOCALE_KEY, currentLocale); //调用struts中提供的方法设置Locale this.setLocale(request, currentLocale); return mapping.findForward("index"); }
配置国际化action:
<action path="/changelang" type="com.bjsxt.struts.ChangeLanguageAction" > <forward name="index" path="/index.jsp"/> </action> <message-resources parameter="res.MessageResources" />
res.MessageResources表示的是res包下的MessageResources文件。
三,动态信息的国际化
如果是与后台交互的数据,那么在国际化文件中就用占位符进行配置
resource.properties源文件:
user.login.success={0},登录成功 user.not.found=用户不能找到,用户名称=[{0}] user.password.error=密码错误 user.login.error=登录失败 MessageResource_zh_cn.properties文件: user.login.success={0},\u767b\u5f55\u6210\u529f user.not.found=\u7528\u6237\u4e0d\u80fd\u627e\u5230\uff0c\u7528\u6237\u540d\u79f0=[{0}] user.password.error=\u5bc6\u7801\u9519\u8bef user.login.error=\u767b\u5f55\u5931\u8d25 MessageResource_en_us.properties文件: user.login.success={0},Login Success user.not.found=User Not Found,UserName[{0}] user.password.error=Password Error user.login.error=Login Error
Action中的代码: package com.bjsxt.struts; 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; import org.apache.struts.action.ActionMessage; import org.apache.struts.action.ActionMessages; /** * 用户登录的Action * @author Administrator * */ public class LoginAction extends Action { public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { LoginActionForm laf = (LoginActionForm)form; String username = laf.getUsername(); String password = laf.getPassword(); ActionMessages messages = new ActionMessages(); try { UserManager.getInstance().login(username, password); //创建国际化消息文本 ActionMessage message = new ActionMessage("user.login.success", username); //ActionMessage message = new ActionMessage("user.login.success", new Object[]{username});//其中Object数组表示的是占位符 messages.add("loginSuccess1", message); ActionMessage message1 = new ActionMessage("user.login.success", username); messages.add("loginSuccess2", message1); //传递国际化消息文本 this.saveMessages(request, messages); return mapping.findForward("success"); }catch(UserNotFoundException unfe) { unfe.printStackTrace(); //创建国际化消息文本 ActionMessage message = new ActionMessage("user.not.found", username); messages.add("error1", message); //传递国际化消息文本 this.saveErrors(request, messages); }catch(PasswordErrorException pee) { pee.printStackTrace(); //创建国际化消息文本 ActionMessage message = new ActionMessage("user.password.error"); messages.add("error2", message); //传递国际化消息文本 this.saveErrors(request, messages); } return mapping.findForward("error"); } }
一个ActionMessage表示一条国际化信息。
Action配置:
<message-resources parameter="res.MessageResources" /> <script type="text/javascript"></script>
- StrutsLoginDemo.rar (18.5 KB)
- 下载次数: 34
发表评论
-
eclipse codestyle和formate
2011-12-26 11:20 1061北京都乐宝软件信息技术公司的代码风格 -
Common-logging 与 Log4j的结合使用
2011-12-25 15:58 1207转自:http://hi.baidu.com/suofang/ ... -
ssh整合(转)
2011-09-06 14:50 1275终于,终于将SSH整合成 ... -
struts1学习体会
2011-08-27 22:25 887ZT:http://blog.csdn.net/toyouhe ... -
struts异常处理机制
2011-08-22 23:11 1109在xwork中,package的定义中增加了global-ex ... -
struts.xml及default-action-ref详解
2011-08-22 17:54 2107我想实现访问一个acion时候,如果这个action不存在, ... -
struts1防止重复提交
2011-08-21 23:39 1057防止重复提交java解决 ( ... -
struts2防止重复提交
2011-08-08 14:42 1218本人负责全国林业行政执法人员管理系统,当时遇到了新增重复提交问 ... -
struts2的sruts-default.xml解释
2011-08-08 14:20 993这个文件是struts2框架默认加载的配置文件。它定义st ... -
struts.xml详解
2011-08-08 11:10 808<?xml version="1.0& ... -
Unable to find 'struts.multipart.saveDir' property setting.
2011-08-08 10:23 1611以前在项目中遇到Unable to find 'struts. ... -
struts2标签中限制文本域字数
2011-05-20 16:51 1595实现textarea限制输入字 ... -
实现textarea限制输入字数
2011-05-20 15:47 1034实现textarea限制输入字 ... -
struts2接收字符日期存到数据库
2011-05-18 10:54 1371模拟51job招聘网站出现的小插曲。 1、注册时候的信 ... -
struts2 JSON插件怪异的问题
2011-03-10 14:05 966private FenleiBizIntf fenleiBiz ... -
各种错误集锦(更新中。。。)
2011-03-01 21:32 945struts2中 根据一个条件查询表时候,如果数据库中没有此数 ... -
struts2的action中默认不会初始化属性,也不会实例化属性
2011-02-19 14:27 1621编写jdbc分页时易出现的马虎。 public St ... -
The Struts dispatcher cannot be found. This is usually caused by using Struts ta
2011-02-08 21:05 1213The Struts dispatcher canno ... -
STRUTS2返回类型
2010-12-26 01:40 820STRUTS2返回类型开始使用struts2的时候,想跳转到另 ... -
STRUTS2返回类型
2010-12-26 01:40 1043STRUTS2返回类型 开始使用struts2的时候,想跳转 ...
相关推荐
在描述中提到的"struts1的例子"和"struts1标签使用的例子",我们可以深入探讨Struts 1的核心概念和常用组件。 1. **核心概念**: - **Action类**:在Struts 1中,Action类是处理用户请求的核心。每个Action类对应...
这个"Struts1例子"很可能是为了演示如何使用Struts1框架来构建一个基本的Web应用程序,包括用户登录、注册等功能。下面我们将深入探讨Struts1的关键概念和技术要点。 1. **MVC模式**:Struts1遵循Model-View-...
### Struts1编程示例详解:在MyEclipse中实现登录功能 在深入探讨如何在MyEclipse中使用Struts1框架构建一个简单的登录系统之前,让我们先对Struts1有个基本了解。Struts1是Apache软件基金会的一个开源项目,它提供...
Struts1是一个经典的Java Web开发框架,由Apache软件基金会维护,它基于Model-View-Controller(MVC)设计模式,为构建企业级Web应用程序提供了强大的支持。本篇将深入探讨Struts1的基础知识,以及如何通过实践来...
本篇文章将深入探讨Struts1框架的基本用法、例子以及需要注意的事项。 首先,Struts1的核心概念包括Action、ActionForm、ActionMapping和DispatchAction等。Action是处理用户请求的业务逻辑组件,它接收并处理由...
这个“struts2简单例子”是初学者理解Struts2工作原理和核心概念的一个很好的起点。让我们深入探讨一下Struts2的基础知识。 1. **MVC架构**: MVC模式是软件设计中的一个经典模式,它将应用逻辑分为三个主要部分:...
1. **配置文件**:主要包括`struts.xml`,这是Struts2的核心配置文件,用于定义Action、结果类型、拦截器等。在这里,你会看到Action的映射,以及它们对应的结果页面。 2. **Action类**:Action类是控制器的主要...
本例子旨在帮助理解Struts2的基本概念、配置以及工作流程,通过实际操作来展示其核心功能。 首先,我们需要了解Struts2的核心组件。Controller部分由Struts2的Action类实现,它处理用户请求并调用相应的业务逻辑。...
struts例子struts例子struts例子struts例子struts例子struts例子struts例子struts例子struts例子struts例子struts例子struts例子struts例子struts例子struts例子
struts 项目 例子struts 项目 例子struts 项目 例子struts 项目 例子struts 项目 例子struts 项目 例子struts 项目 例子struts 项目 例子struts 项目 例子struts 项目 例子struts 项目 例子struts 项目 例子struts ...
struts例子struts例子struts例子struts例子struts例子struts例子struts例子struts例子struts例子struts例子struts例子struts例子struts例子
1. **MVC架构**:Struts2遵循MVC设计模式,它将业务逻辑(模型)、用户界面(视图)和应用控制(控制器)分离,提高了代码的可维护性和可重用性。在Struts2中,Action类扮演控制器角色,处理用户请求;结果映射决定...
1. **配置Struts2框架**: 在Struts2项目中,我们通常需要一个`struts.xml`配置文件,这是框架的核心配置文件,用来定义Action类、结果页面和拦截器。在这个小例子中,可能有如下配置: ```xml ...
这个"struts小例子"应该是博主在学习Struts框架过程中的一些实践项目和代码示例,非常适合初学者用来理解并熟悉Struts的核心概念和工作原理。 Struts框架的核心组成部分包括Action、ActionForm、ActionServlet、...
在这个“Struts2 例子和包”中,我们将会探讨Struts2的核心概念、配置、以及如何在Eclipse环境中进行实际应用。 一、Struts2核心概念 1. **Action类**:Struts2的核心是Action类,它是业务逻辑处理的中心。每个HTTP...
这个“一个Struts的简单例子”提供了一个基础的用户登录应用,非常适合初学者了解和学习Struts框架的基本用法。下面将详细解释这个例子中的关键知识点。 1. **MVC设计模式**: MVC模式是Web应用程序开发中常见的...
1. **Action配置**:在`struts.xml`中,你需要定义Action类,这通常是你的业务逻辑处理类。例如: ```xml <result name="success">/success.jsp ``` 这里,`name`属性是访问Action的URL片段,`class`属性...
它基于Apache软件基金会的Jakarta Struts项目,旨在提供比其前身Struts1更为灵活和强大的功能。 在深入理解Struts2之前,我们先来解释一下MVC设计模式。MVC是一种将业务逻辑、数据和用户界面分离的设计模式,使得...