`
yyzhpq
  • 浏览: 301680 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

Struts1.2.4学习心得!(四)

阅读更多
第四次学习:

这次学习碰到了与struts1.1很不同的地方,就是ActionForm类不仅仅是String型,可以是任意数据类型了.

1.表单录入(含bean的嵌套).

设有一个testBean类,这个类中又含有一个nested属性(nested为一个类的实例),当要为nested类的booleanProperty属性设定值时用nested.booleanProperty指定位置.下面例子录入数据时,数据填充到testBean和nested中去.

java代码: 

 1   
 2   <%@ taglib uri="/tags/struts-bean" prefix="bean" %>
 3   <%@ taglib uri="/tags/struts-html" prefix="html" %>
 4   <%@ taglib uri="/tags/struts-logic" prefix="logic" %>
 5   <html:html>
 6     <head>
 7       <title>Test struts-html Property Setters</title>
 8     </head>
 9     <body>
 10      <div align="center">
 11        <h1>Test struts-html Property Setters</h1>
 12      </div>
 13      <p>Whatever changes you make to properties should be reflected when the page is redisplayed. Press "Save" to update, or "Cancel" to return to the main menu.</p>
 14      <html:form action="/html-setters-submit">
 15        <table border="0" width="100%">
 16          <tr>
 17            <th align="center" colspan="4">Scalar Properties</th>
 18          </tr>
 19          <tr>
 20            <th align="right">booleanProperty</th>
 21            <td align="left">
 22              <html:checkbox property="booleanProperty" />
 23            </td>
 24            <th align="right">nested.booleanProperty</th>
 25            <td align="left">
 26              <html:checkbox property="nested.booleanProperty" />
 27            </td>
 28          </tr>
 29          <tr>
 30            <th align="right">doubleProperty</th>
 31            <td align="left">
 32              <html:text property="doubleProperty" size="32" />
 33            </td>
 34            <th align="right">nested.doubleProperty</th>
 35            <td align="left">
 36              <html:text property="nested.doubleProperty" size="32" />
 37            </td>
 38          </tr>
 39          <tr>
 40            <th align="right">floatProperty</th>
 41            <td align="left">
 42              <html:text property="floatProperty" size="32" />
 43            </td>
 44            <th align="right">nested.floatProperty</th>
 45            <td align="left">
 46              <html:text property="nested.floatProperty" size="32" />
 47            </td>
 48          </tr>
 49          <tr>
 50            <th align="right">intProperty</th>
 51            <td align="left">
 52              <html:text property="intProperty" size="32" />
 53            </td>
 54            <th align="right">nested.intProperty</th>
 55            <td align="left">
 56              <html:text property="nested.intProperty" size="32" />
 57            </td>
 58          </tr>
 59          <tr>
 60            <th align="right">longProperty</th>
 61            <td align="left">
 62              <html:text property="longProperty" size="32" />
 63            </td>
 64            <th align="right">nested.longProperty</th>
 65            <td align="left">
 66              <html:text property="nested.longProperty" size="32" />
 67            </td>
 68          </tr>
 69          <tr>
 70            <th align="right">stringProperty</th>
 71            <td align="left">
 72              <html:text property="stringProperty" size="32" />
 73            </td>
 74            <th align="right">nested.stringProperty</th>
 75            <td align="left">
 76              <html:text property="nested.stringProperty" size="32" />
 77            </td>
 78          </tr>
 79          <tr>
 80            <th align="center" colspan="4">Indexed Properties</th>
 81          </tr>
 82          <tr>
 83            <th align="right">intIndexed[0]</th>
 84            <td align="left">
 85              <html:text property="intIndexed[0]" size="32" />
 86            </td>
 87            <th align="right">nested.intIndexed[0]</th>
 88            <td align="left">
 89              <html:text property="nested.intIndexed[0]" size="32" />
 90            </td>
 91          </tr>
 92          <tr>
 93            <th align="right">intIndexed[1]</th>
 94            <td align="left">
 95              <html:text property="intIndexed[1]" size="32" />
 96            </td>
 97            <th align="right">nested.intIndexed[1]</th>
 98            <td align="left">
 99              <html:text property="nested.intIndexed[1]" size="32" />
 100           </td>
 101         </tr>
 102         <tr>
 103           <th align="right">stringIndexed[0]</th>
 104           <td align="left">
 105             <html:text property="stringIndexed[0]" size="32" />
 106           </td>
 107           <th align="right">nested.stringIndexed[0]</th>
 108           <td align="left">
 109             <html:text property="nested.stringIndexed[0]" size="32" />
 110           </td>
 111         </tr>
 112         <tr>
 113           <th align="right">stringIndexed[1]</th>
 114           <td align="left">
 115             <html:text property="stringIndexed[1]" size="32" />
 116           </td>
 117           <th align="right">nested.stringIndexed[1]</th>
 118           <td align="left">
 119             <html:text property="nested.stringIndexed[1]" size="32" />
 120           </td>
 121         </tr>
 122         <tr>
 123           <td> </td>
 124           <td align="right">
 125             <html:submit>Save</html:submit>
 126           </td>
 127           <td align="left">
 128             <html:reset>Reset</html:reset>
 129             <html:cancel>Cancel</html:cancel>
 130           </td>
 131           <td> </td>
 132         </tr>
 133       </table>
 134     </html:form>
 135   </body>
 136 </html:html>
 137 
 138 



对应的TestBean


java代码: 

 1   
 2   /*
 3    * $Header: /home/cvs/jakarta-struts/src/examples/org/apache/struts/webapp/exercise/TestBean.java,v 1.4 2004/03/14 06:23:52 sraeburn Exp $
 4    * $Revision: 1.4 $
 5    * $Date: 2004/03/14 06:23:52 $
 6    *
 7    * Copyright 1999-2004 The Apache Software Foundation.
 8    *
 9    * Licensed under the Apache License, Version 2.0 (the "License");
 10   * you may not use this file except in compliance with the License.
 11   * You may obtain a copy of the License at
 12   *
 13   *      http://www.apache.org/licenses/LICENSE-2.0
 14   *
 15   * Unless required by applicable law or agreed to in writing, software
 16   * distributed under the License is distributed on an "AS IS" BASIS,
 17   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 18   * See the License for the specific language governing permissions and
 19   * limitations under the License.
 20   */

 21  
 22  
 23  package org.apache.struts.webapp.exercise;
 24  
 25  
 26  import java.util.ArrayList;
 27  import java.util.Collection;
 28  import java.util.HashMap;
 29  import java.util.List;
 30  import java.util.Map;
 31  import java.util.Vector;
 32  import javax.servlet.http.HttpServletRequest;
 33  import org.apache.struts.action.ActionForm;
 34  import org.apache.struts.action.ActionMapping;
 35  import org.apache.struts.util.LabelValueBean;
 36  
 37  
 38  /**
 39   * General purpose test bean for Struts custom tag tests.
 40   *
 41   * @version $Revision: 1.4 $ $Date: 2004/03/14 06:23:52 $
 42   */

 43  
44  public class TestBean extends ActionForm {
...}
 45  
 46  
 47      // ------------------------------------------------------------- Properties
 48  
 49  
 50      /**
 51       * A collection property where the elements of the collection are
 52       * of type <code>LabelValueBean</code>.
 53       */

 54      private Collection beanCollection = null;
 55  
56      public Collection getBeanCollection() {
...}
57          if (beanCollection == null) {
...}
 58              Vector entries = new Vector(10);
 59  
 60              entries.add(new LabelValueBean("Label 0", "Value 0"));
 61              entries.add(new LabelValueBean("Label 1", "Value 1"));
 62              entries.add(new LabelValueBean("Label 2", "Value 2"));
 63              entries.add(new LabelValueBean("Label 3", "Value 3"));
 64              entries.add(new LabelValueBean("Label 4", "Value 4"));
 65              entries.add(new LabelValueBean("Label 5", "Value 5"));
 66              entries.add(new LabelValueBean("Label 6", "Value 6"));
 67              entries.add(new LabelValueBean("Label 7", "Value 7"));
 68              entries.add(new LabelValueBean("Label 8", "Value 8"));
 69              entries.add(new LabelValueBean("Label 9", "Value 9"));
 70  
 71              beanCollection = entries;
 72          }
 73  
 74          return (beanCollection);
 75      }
 76  
77      public void setBeanCollection(Collection beanCollection) {
...}
 78          this.beanCollection = beanCollection;
 79      }
 80  
 81  
 82      /**
 83       * A multiple-String SELECT element using a bean collection.
 84       */

 85      private String[] beanCollectionSelect = { "Value 1", "Value 3",
 86                                                "Value 5" };
 87  
88      public String[] getBeanCollectionSelect() {
...}
 89          return (this.beanCollectionSelect);
 90      }
 91  
92      public void setBeanCollectionSelect(String beanCollectionSelect[]) {
...}
 93          this.beanCollectionSelect = beanCollectionSelect;
 94      }
 95  
 96  
 97      /**
 98       * A boolean property whose initial value is true.
 99       */

 100     private boolean booleanProperty = true;
 101 
102     public boolean getBooleanProperty() {
...}
 103         return (booleanProperty);
 104     }
 105 
106     public void setBooleanProperty(boolean booleanProperty) {
...}
 107         this.booleanProperty = booleanProperty;
 108     }
 109 
 110 
 111     /**
 112      * A multiple-String SELECT element using a collection.
 113      */

 114     private String[] collectionSelect = { "Value 2", "Value 4",
 115                                           "Value 6" };
 116 
117     public String[] getCollectionSelect() {
...}
 118         return (this.collectionSelect);
 119     }
 120 
121     public void setCollectionSelect(String collectionSelect[]) {
...}
 122         this.collectionSelect = collectionSelect;
 123     }
 124 
 125 
 126     /**
 127      * A double property.
 128      */

 129     private double doubleProperty = 321.0;
 130 
131     public double getDoubleProperty() {
...}
 132         return (this.doubleProperty);
 133     }
 134 
135     public void setDoubleProperty(double doubleProperty) {
...}
 136         this.doubleProperty = doubleProperty;
 137     }
 138 
 139 
 140     /**
 141      * A boolean property whose initial value is false
 142      */

 143     private boolean falseProperty = false;
 144 
145     public boolean getFalseProperty() {
...}
 146         return (falseProperty);
 147     }
 148 
149     public void setFalseProperty(boolean falseProperty) {
...}
 150         this.falseProperty = falseProperty;
 151     }
 152 
 153 
 154     /**
 155      * A float property.
 156      */

 157     private float floatProperty = (float) 123.0;
 158 
159     public float getFloatProperty() {
...}
 160         return (this.floatProperty);
 161     }
 162 
163    
分享到:
评论

相关推荐

    struts1.2.4 jar包

    Struts 1.2.4 是一个非常经典的Java Web开发框架,由Apache软件基金会开发,主要用于构建基于MVC(Model-View-Controller)设计模式的Web应用。在本压缩包中,`jakarta-struts-1.2.4-lib` 文件夹包含了一系列用于...

    struts-1.2.4.tar.gz

    这个“struts-1.2.4.tar.gz”是Struts框架的1.2.4版本,专为Linux操作系统设计的官方完整包。下面我们将深入探讨Struts 1.2.4的一些核心知识点。 1. **Struts 框架原理**: Struts通过分离业务逻辑、数据模型和...

    jakarta-struts-1.2.4-src.zip_jakarta struts 1_jakarta struts-1.1

    `jakarta-struts-1.2.4-src.zip` 包含了Struts 1.2.4的完整源代码,开发者可以借此深入了解框架的内部实现,学习其设计思路。主要的源代码目录结构如下: - `org.apache.struts.action`:包含Action和ActionForm...

    jakarta-struts-1.2.4

    Jakarta Struts 1.2.4 是一个历史悠久但依然具有参考价值的Web应用程序框架,由Apache软件基金会开发。这个版本包含了"lib"目录和"webapps"目录,这两个部分对于理解和使用Struts框架至关重要。 **一、Struts框架...

    sun portlet 整合struts1.2.4 实例

    本实例来自sun portal server 7.1! 感兴趣的朋友可以去我的博客去看详细的构建方法。 http://blog.163.com/liyun_521/blog/static/49528317200842210221023/

    typora1.2.4学习版

    typora1.2.4 Windows版本,跨平台的 Markdown 编辑器,好用极简

    easyui1.2.4.chm

    easyui1.2.4.chm,easyui1.2.4.chm

    css 中的background:transparent到底是什么意思有什么作用

    CSS中的background属性用于设定一个元素的背景颜色、背景图片、背景重复性、背景位置等。在这些属性中,“background:transparent”是一个CSS样式值,指定了背景完全透明。在CSS中,透明(transparent)和不透明...

    windbus1.2.4源代码

    【windbus1.2.4源代码】是一个开源项目,基于Linux D-Bus进行修改和扩展。D-Bus是Linux系统中的一个消息...同时,学习和理解开源项目的源代码也是提升自身技能的好机会,可以从中学习到如何设计和实现分布式通信系统。

    typora1.2.4win中文版本

    typora1.2.4win中文版本

    QI 1.2.4.zip

    四、协议流程 1. **初始化**:设备接触充电垫后,发送器发送识别信号,接收器回应,确认双方支持的通信协议和充电功率等级。 2. **功率协商**:根据设备需求,发送器和接收器协商并确定合适的充电功率。 3. **...

    spring1.2.4.jar

    spring1.2.4.jar 本人博客有详细信息 http://gaobo403163953.blog.163.com

    1.2.4_specifications.zip

    对于无线充电设备的制造商、开发者和研究人员而言,这些资料无疑具有极高的学习价值和实践指导意义。无论是为了开发符合标准的产品,还是为了优化现有的无线充电解决方案,这些文档都将提供宝贵的信息和支持。

    VdhCoAppSetup-1.2.4.exe Video DownloadHelper Companion App 1.2.4

    Video DownloadHelper Companion App 1.2.4 Some operations required by Video DownloadHelper cannot be performed form within the browser. In order to be able to still do the job, the add-on relies on an...

    VdhCoAppSetup-1.2.4.rar

    "VdhCoAppSetup-1.2.4.rar" 是一个名为 "Video Downloader help 桌面支持工具" 的软件安装包,版本为1.2.4。这个压缩文件通常包含了运行该软件所需的全部组件,包括可执行文件、配置文件、帮助文档和其他必要的资源...

    VdhCoAppSetup-1.2.4.zip

    《火狐浏览器下载视频插件:VdhCoAppSetup-1.2.4.zip详解》 在互联网上,为了方便用户高效地获取和使用资源,各种浏览器插件应运而生。其中,"VdhCoAppSetup-1.2.4.zip"是一个专为火狐浏览器设计的视频下载辅助工具...

    VdhCoAppSetup-1.2.4 Windows和Mac两个包

    标题中的“VdhCoAppSetup-1.2.4 Windows和Mac两个包”指的是一个软件安装程序,适用于两种主流操作系统:Windows和Mac OS。这个软件的版本号是1.2.4,通常版本号的更新意味着修复了之前版本的问题,增加了新功能,...

    gzip-1.2.4.tar.gz

    标题中的“gzip-1.2.4.tar.gz”是一个典型的Linux/Unix环境下使用的压缩文件格式,它包含了名为“gzip”的工具的源代码,版本为1.2.4。这个文件通常由开发者或开源社区提供,供用户下载、编译和安装在他们的系统上。...

    fastjson-1.2.4最新版本

    fastjson-1.2.4.jar 最新版本

    QI V1.2.4.rar

    QI标准V1.2.4主要包含四个部分,分别是: 1. Part1:基础架构和通用要求。这部分详细规定了QI系统的架构,包括发射器、接收器、接口、通信协议等基本组件,以及对这些组件的性能和安全性的要求。此外,还定义了QI...

Global site tag (gtag.js) - Google Analytics