`
summer_021
  • 浏览: 55442 次
  • 性别: Icon_minigender_1
  • 来自: 上海
最近访客 更多访客>>
社区版块
存档分类
最新评论

Struts1_处理数据的技巧

阅读更多
1、ActionFrom中:productId为一个整数的数组,页面中要求类似这样子的显示:1,2,3,4, 最后一个不加逗号,处理技巧:
<c:forEach items="${stepForm.productId}" var="p" varStatus="vs">
			${p }
			<c:if test="${vs.count != fn:length(stepForm.productId)}">
				,
			</c:if>
		</c:forEach>



2、多步收集数据时不能用ActionForm默认的数据重置的方法,处理技巧:
	//购物车:不能用这个重置数据的方法
//	public void reset(ActionMapping mapping, HttpServletRequest request) {
//		this.name = null;
//		this.productId = null;
//		this.address = null;
//	}
	
	//自己写重置的方法,在开始购物前调用(Action中调用)
	public void resetField() {
		this.name = null;
		this.productId = null;
		this.address = null;
	}



3、Struts1的国际化:
页面传一个参数,确定是用中文还是英文
Action处理方法:
String lang = request.getParameter("lang");
		
		Locale currentLocale = Locale.getDefault(); 
		
		if ("zh".equals(lang)) {
			currentLocale = new Locale("zh", "CN");
		}else if("en".equals(lang)) {
			currentLocale = new Locale("en", "US");
		}

		//两种方法告诉Struts1 locale信息  下面这两行等效。
		//如果没有告诉Struts1 locale信息,Struts1会默认取服务器的locale信息
		//request.getSession().setAttribute(Globals.LOCALE_KEY, currentLocale);
		this.setLocale(request, currentLocale);
		return mapping.findForward("index");



Struts配置文件加上资源文件的配置:
<message-resources parameter="res/MessageResources" />


页面上取资源文件内容的方法:
1、struts标签:
<bean:message key="user.username"/>

2、JSTL标签:
<fmt:message key="user.username"/>



4、DispatchAction

/**
 * 传的方法名参数不能叫:execute perform(Struts1以前叫这个方法)
 */
public class UserAction extends DispatchAction {
	/**
	 * 不传参数的时候调用这个方法
	 */
	@Override
	protected ActionForward unspecified(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response)
			throws Exception {
		//调用业务逻辑操作
		List userList = UserManager.getInstance().findAllUserList();
		request.setAttribute("userlist", userList);
		return mapping.findForward("list_success");
	}

	/**
	 * 用户添加
	 * 参数和execute方法参数一致, 页面传add参数
	 */
	public ActionForward add(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response)
			throws Exception {
		//获取从页面表单中提交过来的值
		UserActionForm uaf = (UserActionForm)form;
		User user = new User();
		BeanUtils.copyProperties(user, uaf);
		user.setCreateDate(new Date());
		//调用业务逻辑操作
		UserManager.getInstance().addUser(user);
		return mapping.findForward("success");
	}
}	


struts配置文件:
 <!-- 全局的跳转 -->
    <global-forwards>
    	<forward name="success" path="/user/usermaint.do" redirect="true"/>
    </global-forwards>
    
    <!-- parameter :调用不同的方法  页面传参,Struts自动接收然后调用对应的方法 -->
    <action-mappings>
    	<action path="/user/usermaint"
    			type="com.aowin.actions.UserAction"
    			name="userForm"
    			scope="request"
    			parameter="command"
    	>
    		<forward name="list_success" path="/user/user_list.jsp"/>
    	</action>
	
    </action-mappings>

<!--parameter参数值不能是execute或perform
    http://localhost:8080/user/usermaint.do?command=....  这里不能传execute或者perform

-->
分享到:
评论

相关推荐

    AnyFo - Struts 2_1爆胎易筋丸.pdf

    1 入门.....................................................................................................................................4 1.1 环境搭建..................................................

    struts高级实战进阶

    回顾Struts的请求处理时序图 使用超连接的技巧 封装Formbean数据时的问题 防止表单重复提交 使用复选框的技巧 使用下拉列表框的技巧 文件上传 DispatchAction的应用 Validator框架 Struts请求处理过程的源码分析与...

    非常好的struts2教程

    回顾Struts的请求处理时序图 使用超连接的技巧 封装Formbean数据时的问题 防止表单重复提交 使用复选框的技巧 使用下拉列表框的技巧 文件上传 DispatchAction的应用 Validator框架 Struts请求处理过程的源码分析与...

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

    书中介绍了如何利用Struts 2 来解决Web 应用开发中的常见问题,同时还深入浅出地探讨了许多能帮助程序员编写Struts 2 应用程序的技巧,如管理页面导航活动、输入验证、国际化和本地化、对Ajax 的支持,等等。...

    北京中科信软AJAX培训

    实战技巧:处理级联的数据 实战技巧:保存更新数据 在普通文本和XML文档之间权衡 何时返回普通文本 何时返回XML文档 innerHTML的应用 案例研究:MSN Space MSN Space中的Ajax 持久化机制 实体类和服务类 初始化共享...

    structs程序设计从入门到精通word文档

    13.1 使用Struts Bean标签保存与传输数据小实例 15 第14章 Struts Logic标签库 15 14.1 如何使用Logic标签进行基于值的条件显示 15 14.1 如何使用Logic标签进行字符串匹配 15 14.1 如何使用Logic标签来检测值是否...

    达内java培训目录

    Struts2 Struts2核心控制流程、Ognl、Action、Interceptor、Result、FreeMarker、Struts2标记库、Struts2扩展、Struts2应用技巧(输入验证、消息国际化、文件上传和下载、防止重复提交等)。 熟练掌握Struts2核心...

    Java EE轻量级解决方案S2SH

    其中在Struts2部分主要讲解MVC设计思想,Struts2的处理流程及配置,Struts2常用控制器组件,以及Struts2常用标签库的使用。在Hibernate部分主要讲解O/R Mapping的设计理念,Hibernate对O/R Mapping的支持,Hibernate...

    Eclipse开发入门与项目实践 源代码

    第1章 Eclipse概述及开发环境搭建 2 1.1 Eclipse概述 2 1.1.1 Eclipse的由来和发展 2 1.1.2 Eclipse的结构和平台内核 2 1.2 Eclipse开发环境的搭建 3 1.2.1 JDK的安装 4 1.2.2 JDK环境变量的设置 5 ...

    Java Web编程宝典-十年典藏版.pdf.part2(共2个)

    8.7.1 Struts2处理表单数据 8.7.2 使用M印类型的request、session、application 8.8 疑难解惑 8.8.1 Struts Prepare And Execute Filter过滤器 8.8.2 struts.xml文件配置出错 8.9 精彩回顾 第9章 庖丁解牛 ——揭密...

    JAVA程序开发大全---上半部分

    本书系统全面地介绍了Java中的各项主流技术,以及基于这些技术的商业化应用程序的开发技巧,在讲解过程中以目前最为流行的开发工具MyEclipse为载体,全面系统地介绍了如何在MyEclipse中开发基于Struts、Hibernate、...

    jive.chm

    13 JDBC性能优化技巧 &lt;br&gt; 权限设计 1 权限系统概要 2 关于权限设计方面的问题 3 关于用户角色权限管理一点想法 4 关于权限系统的设计 &lt;br&gt; 缓存系统 1 ...

    JAVA上百实例源码以及开源项目源代码

     Java数据压缩与传输实例,可以学习一下实例化套按字、得到文件输入流、压缩输入流、文件输出流、实例化缓冲区、写入数据到文件、关闭输入流、关闭套接字关闭输出流、输出错误信息等Java编程小技巧。 Java数组倒置...

    软件工程师Java班课程

    设计基础 J2sdk基础、Java 面向对象基础、Java API使用、数据结构及算法基础、Java高级类特性、异常处理。 掌握Java语言规范、面向对象编程基础(OOA/OOP) J2SE平台Java程序设计 Java AWT图形界面程序开发,Swing...

    精通 Hibernate:Java 对象持久化技术详解(第2版).part1.rar

     9.4 批量处理数据  9.4.1 通过Session来进行批量操作  9.4.2 通过StatelessSession来进行批量操作  9.4.3 通过HQL来进行批量操作  9.4.4 直接通过JDBC API来进行批量操作  9.5 使用元数据  9.6 通过...

    JSP开发技术大全 源码

    分别介绍了JSP基础、环境搭建和开发工具、Java语言基础、JSP语法、JSP内建对象、JavaBean技术、Servlet技术、JSP经典设计模式、数据库的安装与创建、数据库访问技术、SQL语句在JSP中的应用、高性能数据处理技术、...

    delphi7编程百例

    ToolBar工具栏控件的使用 动态建立主菜单选项 窗口界面的...技巧 给MDI主窗体增加背景 实现图像的淡入淡出显示 多媒体播放器 播放AVI文件 根据客户端IP地址获取计算机名 实现多...

Global site tag (gtag.js) - Google Analytics