`

Struts2配置文件传递Map

 
阅读更多

今天做项目遇到要从一个action里面重定向到另一个action里面传递Map类型的值.可是我无论怎么配置都传递不过去.后来,我把信息序列化为json格式的字符串传递过去.在另一个action里面再将此json字符串序列化为一个map即可以.

代码如下:

首先:我写了一个工具方法,此方法接收一个json对象和一个key(错误信息的key),返回序列化后的字符串.

 

	/**
	 * 错误信息转换的方法.用于传递错误信息到初始化注册页面
	 * @description	
	 * @author  吕兵阳
	 * @param obj JSON对象
	 * @param key 错误信息的key
	 * @return Json格式的字符串
	 */
	public String convertJson(JSONObject obj,String key){
		obj.put(key, getFieldErrors().get(key).get(0));
		return obj.toJSONString();
	}

这个是struts2的验证方法:

 

if(user.getName()==null||"".equals(user.getName().trim())){
			addFieldError("name", "用户名不能为空!");
			errorMsg=convertJson(obj, "name");
			return;
}

这个是Struts2的配置文件

 

<!-- 会员信息 -->
	<action name="*TUser" class="tuserAction" method="{1}">
	<result name="addUser_success">page/success.jsp</result>
	<result name="doAdd_error">page/saleRegister.jsp</result>
	<result name="input" type="redirectAction">
		<param name="actionName">initInit.action</param>
		<param name="errorMsg">${errorMsg}</param>
	</result>
	</action>


这个就是要接收错误信息的那个action

 

	/**
	 * 初始化数据,加载企业类型和省份下拉框的值
	 * @description	
	 * @author  吕兵阳
	 * @return
	 * @throws Exception
	 */
	public String init() throws Exception {
		logger.debug("----------------init方法begin---------------");
		facttypeList = tfacttypeService.findAllType();
		logger.debug("获取到的企业类型信息:"+JSONObject.toJSONString(facttypeList));
		errorMsg = new String(errorMsg.getBytes("ISO8859-1"),"UTF-8");
		JSONObject obj=JSONObject.parseObject(errorMsg);
		String errorKey = obj.keySet().iterator().next();
		addFieldError(errorKey, obj.getString(errorKey));
		logger.debug("错误传递ok!");
		shengList = tshengService.findAllSheng();
		logger.debug("获取的省份数量:"+shengList.size());
		logger.debug("---------------init方法end----------------");
		return SUCCESS;
	}



分享到:
评论

相关推荐

    深入浅出Struts2(附源码)

    2.5.1 部署描述文件和Struts配置文件 27 2.5.2 动作类 28 2.5.3 运行app02a程序 29 2.6 依赖注入 29 2.6.1 概述 29 2.6.2 依赖注入的几种方式 31 2.7 小结 31 第3章动作与结果 32 3.1 动作类 32 3.2 如何...

    深入浅出Struts 2 .pdf(原书扫描版) part 1

    2.5.1 部署描述文件和Struts配置文件 27 2.5.2 动作类 28 2.5.3 运行app02a程序 29 2.6 依赖注入 29 2.6.1 概述 29 2.6.2 依赖注入的几种方式 31 2.7 小结 31 第3章 动作与结果 32 3.1 动作类 32 3.2 如何访问资源 ...

    从J2SE到J2EE知识点介绍

    2. 通过web.xml配置文件访问servlet的流程 129 (七) servlet里面的跳转和传参数的方法 130 1. 跳转 130 2. 传参数 131 (八) jsp中文乱码问题 131 1. JSP页面乱码 132 2. 表单提交中文时出现乱码 134 3. 关于jsp在...

    Struts in Action中文版

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

    java面试宝典

    21、当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递? 10 22、我们在web 应用开发过程中经常遇到输出某种编码的字符,如iso8859-1等,...

    struts in Action

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

    外文翻译 stus MVC

    Struts is a set of cooperating classes, servlets, and JSP tags that make up a reusable MVC 2 design. This definition implies that Struts is a framework, rather than a library, but Struts also contains...

    Spring面试题

    在struts配置文件中配置具体的错误提示,再在FormBean中的validate()方法具体调用。 9. 说下Struts的设计模式 MVC模式: web应用程序启动时就会加载并初始化ActionServler。用户提交表单时,一个配置好的ActionForm...

    java面试题

    76.5. 在weblogic中发布ejb需涉及到哪些配置文件 87 76.6. 如何在weblogic中进行ssl配置与客户端的认证配置或说说j2ee(标准)进行ssl的配置 87 76.7. 如何查看在weblogic中已经发布的EJB? 87 76.8. 说说在weblogic中...

    最新Java面试宝典pdf版

    给一个 Bean 的 message 属性, 字符串类型, 注入值为 "Hello" 的 XML 配置文件该怎么写? 125 19、Jdo是什么? 125 20、什么是spring的IOC AOP 126 21、STRUTS的工作流程! 126 22、spring 与EJB的区别!! 126 八. ...

    Java面试宝典2010版

    给一个 Bean 的 message 属性, 字符串类型, 注入值为 "Hello" 的 XML 配置文件该怎么写? 19、Jdo是什么? 20、什么是spring的IOC AOP 21、STRUTS的工作流程! 22、spring 与EJB的区别!! 八. 软件工程与设计...

    Java面试笔试资料大全

    给一个 Bean 的 message 属性, 字符串类型, 注入值为 "Hello" 的 XML 配置文件该怎么写? 125 19、Jdo是什么? 125 20、什么是spring的IOC AOP 126 21、STRUTS的工作流程! 126 22、spring 与EJB的区别!! 126 八. ...

    JAVA面试宝典2010

    给一个 Bean 的 message 属性, 字符串类型, 注入值为 "Hello" 的 XML 配置文件该怎么写? 125 19、Jdo是什么? 125 20、什么是spring的IOC AOP 126 21、STRUTS的工作流程! 126 22、spring 与EJB的区别!! 126 八. ...

    Java面试宝典-经典

    给一个 Bean 的 message 属性, 字符串类型, 注入值为 "Hello" 的 XML 配置文件该怎么写? 125 19、Jdo是什么? 125 20、什么是spring的IOC AOP 126 21、STRUTS的工作流程! 126 22、spring 与EJB的区别!! 126 八. ...

    java面试题大全(2012版)

    如何书写一个 one to many 配置文件. 122 11、iBatis与Hibernate有什么不同? 122 12、写Hibernate的一对多和多对一双向关联的orm配置? 122 9、hibernate的inverse属性的作用? 122 13、在DAO中如何体现DAO设计模式? ...

Global site tag (gtag.js) - Google Analytics