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

一种繁琐的SSH设计(二)

阅读更多
对于ACTION层的处理:
都继承了 LookupDispatchActionSupport ,利用ApplicationResources.properties 和 LookupMethods.properties来对应文字和方法(也就是按钮 和 按钮应该处理的方法)。
BaseAction.java
public class BaseAction extends LookupDispatchActionSupport {
	private static Log log = LogFactory.getLog(BaseAction.class);
	private static ApplicationContext ctx = null;
	private static String date_format = null;
	private static Long defaultLong = null;
	private static Map map = null;
        /**
	 * 获得对应关系的块
            */

	static {
		ResourceBundle bundle = ResourceBundle
				.getBundle("ApplicationResources");
		date_format = bundle.getString("date.format");
		ConvertUtils.register(new DateConverter(date_format), Date.class);
		ConvertUtils.register(new LongConverter(defaultLong), Long.class);
		ConvertUtils.register(new IntegerConverter(defaultLong), Integer.class);

		map = new HashMap();
		ResourceBundle methods = ResourceBundle.getBundle("LookupMethods");
		Enumeration keys = methods.getKeys();
		while (keys.hasMoreElements()) {
			String key = (String) keys.nextElement();
			map.put(key, methods.getString(key));
			log.info(key + "|" + methods.getString(key));
		}

	}

	protected Map getKeyMethodMap() {
		return map;
	}

	/**
	 * 根据spring配置的业务对象名称,取得业务对象实例
	 * 
	 * @param name
	 * @return
	 */
	public Object getBean(String name) {
		if (ctx == null) {
			ctx = ApplicationContextFactory.getApplicationContext();
		}
		return ctx.getBean(name);
	}
}


看一下文字对应的例子
这个例子中,将资源key和方法名称对放到资源文件LookupMethods.properties中。

资源文件LookupMethods.properties的内容如下:

button.edit=edit
button.delete=delete
......

然后,在struts的MessageResource使用的资源文件如 ApplicationResource.properties 中添加资源key的值:

button.edit=编辑
button.delete=删除
......

当然必须用ascii2native转换成unicode。
页面对应的处理
然后界面中就可以使用以下方式提交:

<html:submit property="method">
  <bean:message key="button.edit"/>
</html:submit>

或者

<html:submit property="method">
编辑
</html:submit>

Struts分发由struts-config.xml 和 url对应文件 以及validation.xml配置文件组成

struts-config.xml
  <form-beans>
		<form-bean name="userForm"
			type="com.bidlink.cms.forms.system.UserForm">
		</form-bean>
  <form-beans>
<action path="/userAction"
			type="com.bidlink.cms.actions.system.UserAction" name="userForm"
			parameter="method" input="addUser" unknown="false" scope="request">
			<forward name="upPass" path="user.upPass"></forward>
			<forward name="upUserInfo" path="user.upUserInfo"></forward>
			<forward name="searchLink" path="user.searchLink"></forward>
			<forward name="roleMana" path="user.roleMana"></forward>
		</action>


customerDefinitions.xml
	<definition name="user.upPass" path="/page/user/upPass.jsp" />
	<definition name="user.upUserInfo" path="/page/user/upUserInfo.jsp" />
	<definition name="user.readUserInfo" path="/page/user/readUserInfo.jsp" />


validation.xml
	<form name="userForm">
			<field property="username"
				depends="required,maxlength,minlength">
				<arg0 key="user.username" />
				<arg1 name="maxlength" key="${var:maxlength}"
					resource="false" />
				<arg1 name="minlength" key="${var:minlength}"
					resource="false" />
				<var>
					<var-name>maxlength</var-name>
					<var-value>20</var-value>
				</var>
				<var>
					<var-name>minlength</var-name>
					<var-value>2</var-value>
				</var>
			</field>
			<field property="password"
				depends="required,minlength,twofields">
				<arg0 key="user.password" />
				<arg1 name="minlength" key="${var:minlength}"
					resource="false" />
				<arg1 key="user.validatepassword" />
				<var>
					<var-name>minlength</var-name>
					<var-value>8</var-value>
				</var>
				<var>
					<var-name>secondProperty</var-name>
					<var-value>passwordRe</var-value>
				</var>
			</field>

			<field property="email" depends="required,email">
				<arg0 key="user.email" />
			</field>
			<field property="name" depends="required,maxlength">
				<arg0 key="user.name" />
				<arg1 name="maxlength" key="${var:maxlength}"
					resource="false" />
				<var>
					<var-name>maxlength</var-name>
					<var-value>4</var-value>
				</var>
			</field>
		</form>

分享到:
评论

相关推荐

    ssh课程设计--课程设计管理系统

    针对学生在专业技术方面实施基础训练,在这个过程当中,学生的理论知识能力可以得到提高,可以帮助学生将课堂的理论知识转化为实践能力,提高在实际操作当中处理问题的效率,同时也能够作为一种方式,来检测理论实际...

    ssh网上商城项目代码全 课程设计

    - **查询语言**:支持HQL和Criteria API两种查询方式,其中HQL是一种面向对象的查询语言,接近于SQL但更易用。 #### 四、项目结构设计 - **Web层**:使用Struts框架进行页面展示和用户交互逻辑处理。 - **业务逻辑...

    毕业设计 基于SSH框架的系统

    【标题】"基于SSH框架的系统"是一种常见的企业级应用开发模式,SSH分别代表Spring、Struts和Hibernate三个开源框架的首字母缩写。Spring作为核心的IoC(Inversion of Control,控制反转)和AOP(Aspect Oriented ...

    SSH-struts第一种方式整合

    在本项目"SSH-struts第一种方式整合"中,我们将深入探讨如何将这三个组件结合在一起,构建出强大的后端业务逻辑和直观的前端展示。 首先,Struts作为MVC(模型-视图-控制器)设计模式的实现,主要负责处理HTTP请求...

    SSH课程设计——博客网站

    它提供了一种灵活的Action机制,使得开发者可以通过配置文件或注解定义URL到Action的映射,以及Action执行后的结果跳转。在这个博客系统中,Struts2可能用于处理用户的登录、注册、发布文章、评论等操作。 2. **...

    SSH框架毕业设计

    在这个SSH毕业设计项目中,很可能是使用MySQL作为后端数据库,MySQL是一种广泛使用的开源关系型数据库管理系统,因其高效、稳定和易于管理而受到青睐。JSP(JavaServer Pages)则被用作视图层,用于展示动态生成的...

    SSH框架课程设计影院管理系统.rar

    它提供了一种组织应用结构的方式,使得视图、模型和控制器之间保持松耦合。Struts通过Action类处理用户请求,并将结果转发到JSP页面进行展示。 Hibernate作为ORM(对象关系映射)工具,解决了Java应用程序与数据库...

    SSH三大框架的网页系统设计

    本项目通过整合这三个框架,旨在提供一种便捷的方式来设计和实现复杂的网页系统。 Struts2是MVC(Model-View-Controller)架构模式的一个优秀实现,它为开发者提供了强大的请求处理和视图展示能力。Struts2框架通过...

    java web课程设计+ssh

    Struts2提供了一种灵活的拦截器机制,可以方便地扩展和定制应用程序的行为。 2. **Hibernate**:作为持久层,它是一个强大的对象关系映射(ORM)框架,使得开发者可以用Java对象来操作数据库,而无需编写SQL语句。...

    基于SSH技术的Linux远程控制系统的设计与实现.pdf

    2. Windows操作系统的图形化优势:Windows操作系统凭借其图形化操作优势,设计开发一种Windows平台下的跨平台操作Linux系统的软件具有重要意义。 3. SSH技术的安全性:SSH技术可以把所有传输的数据进行加密,从而...

    JSP基于SSH2物流快递管理系统设计毕业源码案例设计.zip

    【描述】提到的"使用Java开发的毕业设计系统项目源码"意味着该系统是用Java编程语言编写的,这是一种广泛应用的、面向对象的语言,特别适合于企业级应用开发。它具有高度的可移植性,能够运行在多种操作系统上。此外...

    完整的SSH框架开发的系统源码包含数据库设计等

    它提供了一种对象关系映射(ORM)机制,将数据库操作转化为对Java对象的操作,降低了SQL的使用难度。Hibernate支持 CRUD(创建、读取、更新、删除)操作,以及复杂查询和事务管理。 4. **数据库设计**:在SSH框架...

    基于ssh的毕业设计(hr人力资源管理系统)项目完整

    在信息技术领域,SSH(Struts2+Spring+Hibernate)框架是一种广泛应用于企业级Web应用开发的组合。这个标题所指的“基于SSH的毕业设计”是一个以人力资源管理为核心功能的系统,适合学生作为毕业设计项目来提升其在...

    java毕业设计基于SSH

    它的主要优点是提供了一种声明式编程方式,通过配置文件可以轻松管理控制器逻辑。Struts2还提供了丰富的拦截器机制,允许开发者自定义行为,如登录验证、权限检查等。 2. **Spring框架**:Spring是Java企业级应用的...

    基于SSH酒店管理系统的设计与实现

    SSH是Java Web开发中的一种经典组合,提供了强大的MVC(模型-视图-控制器)架构支持,使得开发高效且易于维护。 Spring框架作为核心,负责管理和协调各个组件,提供依赖注入(DI)和面向切面编程(AOP)的功能,...

    ssh1+ssh2+bbs论坛毕业设计带数据库完整代码

    SSH1和SSH2是两种流行的Java企业级开发框架,它们在构建BBS(Bulletin Board System,电子公告板系统)这样的Web应用程序中起到了关键作用。在这个毕业设计项目中,你将有机会学习并实践如何使用这些技术来创建一个...

    SSH实现学生毕业设计管理系统

    SSH框架是Java Web开发中的一种常见组合,由Spring、Struts和Hibernate三个开源框架组成,分别负责控制层、表现层和持久层的功能。这个“SSH实现学生毕业设计管理系统”项目,旨在帮助初学者理解SSH框架的集成应用...

Global site tag (gtag.js) - Google Analytics