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

struts2:类似struts1中动态form的使用

阅读更多

在struts1中,我们知道,需要定义一个form类,来对应jsp页面,进行页面数据的传输和交换,在开放的过程中可以使用struts1提供的方便的动态form进行开发,比较方便,那么在struts2中同样也可以使用类似struts1中的动态form,请看如下的例子: 
   我们实现一个登陆功能来展示动态form的使用,首先定义一个Action类: 
   public class LoginAction implements Action 
   { 
      //定义一个Map,用来装载页面数据,他是实现动态form所必须的,并实现getter和setter方法,并定义对该map中Value进行设置和获取的方法:setFormValue,getFormValue 
      private Map formMap = new HashMap(); 
      public Map getFormMap()
      {
        return formMap;
      } 
      public void setFormMap(Map _map)
      {
        this.formMap = _map;
      } 
      public void setFormValue(String key, Object value)
      {
        formMap.put(key, value);
      } 
      public Object getFormValue(String key)
      {
        return formMap.get(key);
      } 
      public String execute()throws Exception 
      { 
         String userName = (String)this.getFormValue("username");//取得用户名称 
         String password = (String)this.getFormValue("password");//取得用户密码 
         if(userName.equals("admin") && password.equals("123456"))//判断用户名称和密码是否正确 
         { 
            return SUCCESS; //用户和密码正确,登陆成功 
         } 
         else 
         { 
             return ERROR;//用户名称或密码不正确,登陆失败 
          } 
      } 
   } 
接着定义3个jsp页面(仅仅写出关键代码),一个用来登陆,一个用来显示登陆成功,一个用来显示登陆失败。 
登陆页面:login.jsp 
<%@ page language="java" pageEncoding="GB18030"%>
<%@ taglib uri="/struts-tags" prefix="s" %>
<html>
 <head>
  <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
  <title>登陆</title>
 </head>
  <body>
   <form action="login.action" name="login" method="post"> 
      用户名称:<input type="text" name="formMap.username"><br> 
      用户密码:<input type="password" name="formMap.password"><br> 
      <input type="submit" value=" 登 陆 "> 
   </form>
  </body>
</html> 
登陆成功页面:success.jsp 
<%@ page language="java" pageEncoding="GB18030"%> 
<%@ taglib uri="/struts-tags" prefix="s" %> 
<html> 
<head> 
</head> 
<body> 
<s:property value="formMap.username"/> 欢迎你的登陆! 
</body> 
</html> 
登陆失败页面:error.jsp 
<%@ page language="java" pageEncoding="GB18030"%> 
<html> 
<head> 
</head> 
<body> 
登陆失败,用户名称或密码不正确! 
</body> 
</html> 
好,到目前为止,差不多已经完成了,是不是就可以了呢,不是的,其实我们还少一步,那就是需要进行配置文件的配置,告诉struts2在哪里可以找到页面,下面是配置信息片段: 
<action name="login" class="com.stars.poplar.base.permission.action.LoginAction">
            <result name="success">success.jsp</result>
            <result name="error">error.jsp</result>
</action> 
  
好了,终于大功告成了,个人感觉在一部份项目中使用动态form会很方便,推荐使用,当然并不是所有的都需要这个,毕竟真理向前一步就是谬误,希望我们在开发的实际过程中能够运用的更好,提高开发效率。

 

转:http://china-bin.blogbus.com/logs/8222506.html

分享到:
评论

相关推荐

    Struts2教程:处理一个form多个submit.doc

    总结来说,Struts2通过在Action类中定义与submit按钮对应的方法,以及在JSP页面中使用`s:submit`标签的`method`属性,实现了对一个表单内多个submit按钮的区分处理。这种方法提高了代码的可读性和可维护性,同时也...

    Struts2实例 国际化 类型转换 struts标签

    这个实例项目展示了如何在实际应用中结合Struts2、国际化、类型转换以及Struts2自定义标签来实现用户管理功能,包括用户数据的增删改查。 首先,我们来看Struts2的核心概念。Struts2作为MVC框架,它负责处理HTTP...

    struts中动态form

    struts中动态form

    struts标签(如<html:form>)

    关于STRUTS标签的一些详细说明。 如:&lt;html:form&gt;的说明。

    struts中dispatchAction用法

    2. **配置struts-config.xml**:在Struts的配置文件中,为DispatchAction创建ActionMapping,并设置`parameter`属性为请求参数,用于区分不同的业务方法。 ```xml ``` 3. **发起请求**:用户通过URL来触发不同...

    struts2标签使用例子

    在Struts2框架中,标签库是其一大特色,它提供了丰富的自定义标签,使得开发者能够更加便捷地创建动态页面。这些标签极大地简化了JSP页面的编写,提高了代码的可读性和可维护性。 1. **Struts2核心标签库**: - `s...

    struts form 表单 用法

    接下来,在`struts-config.xml`文件中声明这个Form Bean,以便Struts框架知道如何使用它: ```xml &lt;form-beans&gt; &lt;form-bean name="testForm" type="com.example.TestForm" /&gt; &lt;/form-beans&gt; ``` **3. 使用...

    struts2.0整合Struts 1

    4. **Interceptor配置**:根据需求添加Struts 2特有的拦截器,以实现Struts 1中类似的功能,如Session管理、异常处理等。 5. **配置合并**:合并Struts 1和Struts 2的配置文件,确保请求能正确路由到相应的Action。...

    struts2简单例子

    - 配置Struts2:在`struts.xml`配置文件中定义Action类、结果页面和拦截器。 - 创建Action类:这是处理用户请求的核心,实现业务逻辑。 - 编写JSP页面:使用Struts2的标签库来展示数据和处理用户输入。 3. **...

    struts2官方例子10--Struts2的Form标签

    这个官方示例10专注于讲解如何在Struts2中使用Form标签。 Form标签主要用于创建HTML表单,并与Action类中的属性进行绑定。这使得在前端和后端之间传递数据变得更加方便。使用Form标签,你可以指定一个Action类,这...

    Struts常见的Form(一)

    2. **动态Form Bean**: 当表单字段数量不确定或动态变化时,可以使用动态Form Bean。这种类型的Bean使用List或Map来存储数据。例如,如果一个表单允许用户添加任意数量的联系人,可以在Form Bean中定义一个List来...

    struts1原理,struts2原理,spring mvc原理,struts1和struts2,struts和spring mvc

    2. **数据绑定**:Struts1使用Form Bean,Struts2使用OGNL,后者更强大,支持动态数据绑定。 3. **异常处理**:Struts2的异常处理更直观,可以配置全局异常处理。 4. **性能**:Struts2在某些方面比Struts1更快,...

    struts2和struts1 API及使用指南 chm

    5. **国际化和本地化**:两者都支持,但在Struts2中更加简单,可以直接在Action类或JSP页面中使用。 6. **视图层**:Struts1使用Tiles框架来组织视图,Struts2则提供了更多视图技术的选择,如FreeMarker、JSP、...

    Struts高级部分(2)(常用Action、验证框架、动态Form)

    本篇将深入探讨Struts框架的高级部分,包括常用Action、验证框架以及动态Form,这些都是开发过程中不可或缺的重要概念。 一、常用Action Action是Struts的核心组件,它负责处理用户请求,并进行业务逻辑处理。在...

    struts1&struts2

    Struts1和Struts2是两个著名的MVC框架,它们都是Apache软件基金会的Apache Struts项目的一部分,用于构建基于Java的Web应用程序。然而,两者在设计和实现上有显著的差异。 1. **架构模式的区别** - **Struts1.x** ...

    struts2+ajaxForm

    Struts2和AjaxForm是两种在Web开发中广泛使用的技术,它们共同作用于提升用户体验,尤其是在处理表单数据时。Struts2是一个基于MVC(Model-View-Controller)架构的Java Web框架,它简化了Java Servlets和JSPs的开发...

    struts2标签库

    - **`&lt;s:iterator&gt;`**:用于遍历集合中的元素,类似于Struts1中的`&lt;logic:iterate&gt;`,但Struts2的实现更为高效,并且支持更复杂的操作,如排序、过滤等。 #### 结论 Struts2标签库相比于Struts1提供了更多的功能和...

    使用Struts 2标签的注意事项

    首先,在使用Struts 2标签之前,需要在web.xml文件中配置Struts 2的核心Filter。这是因为Struts 2的核心Filter是Struts 2框架的入口点,负责处理所有的请求。配置的代码如下所示: ``` &lt;filter-name&gt;struts2 ...

    Struts2标签使用及API文档

    `struts2标签用法.doc`和`标签详解`文件可能包含更深入的标签用法和实例,例如如何使用`s:form`创建表单,如何利用`s:action`执行Action,以及如何使用`s:debug`标签进行调试等。 5. **Struts2标签的高级用法** -...

    Struts2之struts2标签库了解和使用案例struts025

    在JSP页面中,我们可以使用以下Struts2标签来实现: ```jsp &lt;%@ taglib prefix="s" uri="/struts-tags" %&gt; 用户列表 &lt;s:iterator value="users"&gt; &lt;s:property value="name"/&gt;&nbsp;|&nbsp; &lt;s:property value=...

Global site tag (gtag.js) - Google Analytics