想飛就別怕摔

          大爺的并TM罵人

          struts中動態表單(DynaActionForm)的使用(超簡單例子)

              主要功能是在頁面上輸入username和password提交,然后在另一個頁面顯示。
          1.所需要的包就是struts的lib包;
          2.所涉及道德文件有:web.xml;struts_config.xml;兩個頁面(index.jsp、dyna_actionform.jsp);一個action(DynaAction.java);
          3.這種動態的DynaActionForm是將Form繼續傳遞。違背了分層的規則(少用);
          web.xml 這個文件沒什么的別的。

           1<?xml version="1.0" encoding="UTF-8"?>
           2<web-app version="2.5" 
           3    xmlns="http://java.sun.com/xml/ns/javaee" 
           4    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
           5    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
           6    http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
           7  <welcome-file-list>
           8    <welcome-file>index.jsp</welcome-file>
           9  </welcome-file-list>
          10  
          11  <servlet>
          12        <servlet-name>action</servlet-name>
          13        <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
          14          <!-- Default -->
          15        <init-param>
          16            <param-name>config</param-name>
          17            <param-value>/WEB-INF/struts-config.xml</param-value>
          18        </init-param>
          19        <init-param>
          20            <param-name>debug</param-name>
          21            <param-value>2</param-value>
          22        </init-param>
          23        <init-param>
          24            <param-name>detail</param-name>
          25            <param-value>2</param-value>
          26        </init-param>
          27        <load-on-startup>2</load-on-startup>
          28    </servlet>
          29
          30    <servlet-mapping>
          31        <servlet-name>action</servlet-name>
          32        <url-pattern>*.do</url-pattern>
          33    </servlet-mapping>
          34</web-app>
          35

          struts_config.xml 動態的Form就是在這里配置的
           1<?xml version="1.0" encoding="gb2312"?>
           2<!DOCTYPE struts-config PUBLIC
           3        "-//Apache Software Foundation//DTD Struts Configuration 1.3//EN"
           4        "http://struts.apache.org/dtds/struts-config_1_3.dtd">
           5
           6<struts-config>
           7    <form-beans>
           8        <form-bean name="dynaFrom" type="org.apache.struts.action.DynaActionForm">
           9            <form-property name="username" type="java.lang.String"/>
          10            <form-property name="age" type="java.lang.Integer"/>
          11        </form-bean>
          12    </form-beans>
          13    
          14    <action-mappings>
          15        <action path="/danaform"
          16                type="com.eplugger.struts.action.DynaAction"
          17                name="dynaFrom"
          18                scope="request"
          19        >
          20            <forward name="success" path="/dyna_actionform.jsp"/>
          21        </action>
          22    </action-mappings>
          23</struts-config>
          24

          DynaAction.java注意這個文件
           1 package com.eplugger.struts.action;
           2 
           3 import javax.servlet.http.HttpServletRequest;
           4 import javax.servlet.http.HttpServletResponse;
           5 
           6 import org.apache.struts.action.Action;
           7 import org.apache.struts.action.ActionForm;
           8 import org.apache.struts.action.ActionForward;
           9 import org.apache.struts.action.ActionMapping;
          10 import org.apache.struts.action.DynaActionForm;
          11 
          12 public class DynaAction extends Action {
          13 
          14     @Override
          15     public ActionForward execute(ActionMapping mapping, ActionForm form,
          16             HttpServletRequest request, HttpServletResponse response)
          17             throws Exception {
          18         //獲取動態的ActionForm
          19         DynaActionForm daf = (DynaActionForm) form;
          20         //DynaActionForm中提供了get()方法,所以我們可以直接獲得頁面傳來的值。但是他把值放到了Map中,所以我們要強制類型轉換
          21         String username = (String)daf.get("username");
          22         Integer age = (Integer)daf.get("age"); 
          23         //成功轉到成功頁面
          24         return mapping.findForward("success");
          25     }
          26     
          27 }
          28 
          index.jsp
           1 <%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
           2 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
           3 <html>
           4   <head>
           5   </head>
           6   <body>
           7       <form action="danaform.do" method="post">
           8       username:<input type="text" name="username"><br>
           9       age:<input type="text" name="age"><br>
          10       <input type="submit" value="submit">
          11       </form>
          12   </body>
          13 </html>
          14 

          dyna_actionform.jsp
           1<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
           2    pageEncoding="ISO-8859-1"
          %>
           3<%@ page isELIgnored="false" %>
           4<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
           5<html>
           6<head>
           7<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
           8<title>Insert title here</title>
           9</head>
          10<body>
          11    username:${dynaFrom.map.username }<br>
          12    age:${dynaFrom.map.age }
          13</body>
          14</html>

          最后說一點動態的ActionForm的驗證,通常使用動態驗證框架validator。否則將失去動態ActionForm的意義。

          posted on 2009-06-07 17:16 生命的綻放 閱讀(2254) 評論(1)  編輯  收藏 所屬分類: Struts1.x

          評論

          # re: struts中動態表單(DynaActionForm)的使用(超簡單例子)[未登錄] 2014-12-23 15:45 qq

          aa  回復  更多評論   

          <2009年6月>
          31123456
          78910111213
          14151617181920
          21222324252627
          2829301234
          567891011

          導航

          統計

          常用鏈接

          留言簿(5)

          隨筆分類(94)

          隨筆檔案(93)

          文章分類(5)

          文章檔案(5)

          相冊

          JAVA之橋

          SQL之音

          兄弟之窗

          常用工具下載

          積分與排名

          最新評論

          閱讀排行榜

          主站蜘蛛池模板: 日照市| 上蔡县| 鸡东县| 靖江市| 岳西县| 韶关市| 乌鲁木齐市| 凤山市| 临夏县| 朝阳区| 建昌县| 嘉兴市| 霍林郭勒市| 长岛县| 山东| 镇原县| 礼泉县| 尤溪县| 定兴县| 普格县| 集安市| 贺兰县| 安阳市| 贡嘎县| 余姚市| 怀集县| 东丽区| 南昌市| 宣汉县| 额敏县| 漳平市| 宣城市| 东方市| 页游| 内江市| 娱乐| 金坛市| 余干县| 仁化县| 微山县| 上栗县|