`
zwt2001267
  • 浏览: 435440 次
  • 性别: 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

分享到:
评论

相关推荐

    struts中动态form

    struts中动态form

    struts标签(如<html:form>)

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

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

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

    struts form 表单 用法

    一个简单易懂的struts form 表单(html:form)与form表单的混合用法。

    Struts2教程

    Struts2 Struts2 Struts2 教程 1 1 1 :第一个 Struts2 Struts2 Struts2 程序 在本系列教程中我们将学习到 Struts2 的各种技术。在本教程中使用的工具和程序库的版本 如下: 开发工具: MyEclipse6 Web 服务器: ...

    struts2 标签库使用文档

    Struts2标签库的组成 Struts2框架的标签库可以分为以下三类: 用户界面标签(UI标签):主要用来生成HTML元素的标签。 表单标签:主要用于生成HTML页面的FORM元素,以及普通表单元素的标签。 非表单标签:主要用于生成...

    Struts2属性文件详解

    该属性指定是否允许在Struts 2标签中使用表达式语法,因为通常都需要在标签中使用表达式语法,故此属性应该设置为true,该属性的默认值是true. struts.devMode 该属性设置Struts 2应用是否使用开发模式.如果设置该属性...

    struts2+jquery之form插件实现异步上传

    struts2+jquery之form插件实现异步上传

    struts2的s标签

    struts2的s标签_API_Java_struts_程序开发

    struts2中的文件上传和下载

    2.其次JSP页面中的文件上传控件所在的form必须设置属性enctype="multipart/form-data" 3.再次,struts2中文件上传将底层高度封装了。在使用时只需要在ACTION中添加三个字段(其中 List&lt;File&gt; files为必填项),...

    struts2文件上传下载

    struts2文件上传与下载, &lt;s:form name="Myform" action="/fileManage/upload" method="post" enctype="multipart/form-data" theme="simple" &gt; &lt;s:fielderror&gt;&lt;/s:fielderror&gt; &lt;s:file name="image" label=...

    Struts 2 Form Tags

    In this tutorial we'll explore some of the other Struts 2 form controls. In our previous tutorials that explained how to use Struts 2 forms (Processing Forms, Form Validation, and Message Resource ...

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

    Struts高级部分(2)(常用Action、验证框架、动态Form) 很不错的资料啊。,可帮助大家解决很多捆难。。

    struts1-html标签

    &lt;html:form&gt; &lt;html:form&gt;用来创建表单,&lt;html:form&gt;必须包含一个action属性,否则JSP会抛出一个异常.

    Struts 2中实现文件下载

    Struts 2中实现文件下载 文件下载

    struts2 标签换行

    &lt;s:textfield label="用户名" name="username"/&gt; &lt;s:password label="密码" name="password"/&gt; &lt;s:submit label="提交"/&gt;&lt;/s:form&gt;我们看着以上的代码跟HTML的差不了多少,但是因为struts2表单默认将表单内的每一个...

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

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

    struts2文件上传

    今天初次使用Struts 2做文件上传,出现了一个错误, ognl.MethodFailedException: Method "setUpload" failed for object 文件类型的限制会在struts.xml中进行配置 几种常见的类型,图片格式image/jpeg,image/gif ...

    Struts2的特点

    1、form是一个pojo 2、action是一个pojo,所以struts2.0与框架的藕合度非常低。 实现Action时有时会继承于ActionSupport, 覆盖execute方法,从而创建一个Action。 因为ActionSupport提供了很多方法可以为...

    struts2 ajax上传图片以及提交form表单的值

    使用struts2 框架 中的文件上传,然后使用ajax上传图片以及form表单的数据

Global site tag (gtag.js) - Google Analytics