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

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics