`

《struts2权威指南》学习笔记之struts2之Tree标签改进

阅读更多
package lee;


public class Book
...{
    private String name;
    private String author;

    public Book()
    ...{
    }
    public Book(String name , String author)
    ...{
        this.name = name;
        this.author = author;

    }

    public void setName(String name)
    ...{
        this.name = name;
    }
    public String getName()
    ...{
         return this.name;
    }

    public void setAuthor(String author)
    ...{
        this.author = author;
    }
    public String getAuthor()
    ...{
         return this.author;
    }

}

package lee;

public class BookService
...{
    public Book[] getBooks()
    ...{
        return new Book[]
        ...{
            new Book("Spring2.0宝典","张三"),
            new Book("轻量级J2EE企业应用实战","李四"),
            new Book("基于J2EE的Ajax宝典","王五")
        };
    }
}


<%...@ page language="java" contentType="text/html; charset=GBK"%>
<%...@taglib prefix="s" uri="/struts-tags"%>
<html>
    <head><s:head/>
        <title>成功页面</title>
    </head>
    <body> 
      checkboxList标签:<br>
      <s:form>
       <!-- 使用简单集合来生成多个复选框 -->
       <s:checkboxlist name="bookList" label="请选择你喜欢的技术" list="{'spring','hibernate','struts'}" labelposition="left">  
        </s:checkboxlist>
        <!-- 使用简单Map对象来生成多个复选框 -->
        <s:checkboxlist name="bookMap" label="请选择你喜欢的出版日期" list="#{'spring':'2006','hibernate':'2007','struts':'2008'}" labelposition="left"
                        listKey="key" listValue="value">
        </s:checkboxlist>
  
        <!-- 使用集合里放多个JavaBean实例来生成多个复选框 -->
       <s:bean name="lee.BookService"  id="bs"></s:bean>
           <s:checkboxlist name="bookBean"  label="请选择你喜欢的图书" list="#bs.books" labelposition="left"
                           listKey="author" listValue="name">
           </s:checkboxlist>
           
        
       
      </s:form>
      
      <s:form>
      combobox标签:combox标签中的下拉菜单和selcet不同,此仅为帮助输入而设计<br>
       <s:combobox list="{'spring','hibernate','struts'}" size="100" maxlength="20" name="bookcombo" ></s:combobox>   
      </s:form>
      
     <s:form theme="simple">
    日期选择部件,指定toggleType属性,且指定value="today"<br>
    <s:datetimepicker name="order.date" label="购买日期" toggleType="explode" value="today"/><hr>
    日期选择部件,指定了format属性<br>
    <s:datetimepicker name="order.date" label="购买日期" displayFormat="yyyy年MM月dd日"/><hr>
    日期选择部件,指定了weekStartsOn属性<br>
    <s:datetimepicker name="order.date" label="购买日期" displayFormat="yyyy年MM月dd日" weekStartsOn="1"/><hr>
    时间选择部件<br>
    <s:datetimepicker label="选择出发时间" type="time" /><hr>
    </s:form>
     
<s:form action="x">
  使用doubleselect,必须指定form的action属性
  支持两项的doubleselect列表框
    <s:doubleselect
            label="请选择您喜欢的图书"
            name="author" list="{'张三', '李四','王五'}"
            doubleList="top == '张三' ? {'struts', 'spring' , 'hibernate'} : {'struts2','spring2.0','hibernate3.0'}" 
            doubleName="book"/>
  支持多项的doubleselect列表框    
     <s:set name="bs" value="#{'张三':{'struts1', 'spring1' , 'hibernat1'},'李四':{'struts2', 'spring2' , 'hibernate2'},'王五':{'struts3', 'spring3' , 'hibernate3'}}"></s:set>
     <s:doubleselect
            label="请选择您喜欢的图书"
            name="authora" 
            list="#bs.keySet()"
            doubleList="#bs[top]"
            doubleName="booka"/>
</s:form>

<s:form theme="simple">
optiontransferselect标签使用
doubleList指定第二个list的内容,list指定第一个list的内容
<s:optiontransferselect 
   doubleList="{'struts','spring','hibernate'}" 
   list="{'struts2','spring2','hibernate2'}" 
   doubleName="2book"
   name="1book"
   leftTitle="升级版"
   rightTitle="普通版"
   multiple="true"
   doubleMultiple="true"
   addToLeftLabel="向左移动"
   addToRightLabel="向右移动"
   selectAllLabel="全部选择"
   addAllToRightLabel="全部向右移动"
   addAllToLeftLabel="全部向左移动"
   emptyOption="true"
   headerKey="1key"
   headerValue="版本1图书"
   doubleHeaderKey="2key"
   doubleHeaderValue="版本2图书"
   doubleEmptyOption="true"></s:optiontransferselect>
</s:form>

<s:form theme="simple">
 select标签:使用简单集合
 <s:select list="{'struts','spring','hibernate'}" name="a" multiple="true"></s:select><br>
 select标签:使用map集合
 <s:select list="#{'zhangsan':'struts','lisi':'spring','wangwu':'hibernate'}" 
           name="b" multiple="true"
           listKey="value" listValue="key"></s:select><br>
 select标签:使用集合里放多个javabean实例来生成下拉选择框
 <s:bean name="lee.BookService" id="bs"/>
 <s:select list="#bs.books" name="c" listKey="name" listValue="author"></s:select>
</s:form>


<s:form theme="simple">
  radio标签:使用简单集合
  <s:radio list="{'struts','spring','hibernate'}" name="a"></s:radio><br>
  radio标签:使用map集合
  <s:radio list="#{'zhangsan':'struts','lisi':'spring','wangwu':'hibernate'}" 
           name="b" 
           listKey="value" listValue="key"></s:radio><br>
  radio标签:使用集合里放多个javabean实例来生成下拉选择框
  <s:bean name="lee.BookService" id="bs"/>
 <s:radio list="#bs.books" name="c" listKey="name" listValue="author"></s:radio>
</s:form>

<s:form theme="simple">
  optgroup标签,用于和select标签组合
  <s:select list="#{'zhangsan':'struts','lisi':'spring','wangwu':'hibernate'}"
            name="a" listKey="value" listValue="key">
            <s:optgroup label="Rob"
                        list="#{'jialiu':'ibatis','songqi':'xml'}"
                        listKey="value"
                        listValue="key"></s:optgroup>
            <s:optgroup label="Ror"
                        list="#{'liuwi':'freemarker','ren1':'velocity'}"
                        listKey="value"
                        listValue="key"></s:optgroup>
  </s:select>
</s:form>


<s:form theme="simple">
  updownselect标签:使用简单集合对象生成可上下移动选项的列表框
  <s:updownselect name="ac" list="{'struts','spring','hibernate'}"></s:updownselect><br>
  updownselect标签:使用map集合对象生成可上下移动选项的列表框
  <s:updownselect list="#{'zhangsan':'struts','lisi':'spring','wangwu':'hibernate'}" 
           name="bc" moveDownLabel="向下移动" moveUpLabel="向上移动"
           listKey="value" listValue="key" emptyOption="true"></s:updownselect><br>
   updownselect标签:使用集合里放多个javabean实例来生成下拉选择框
  <s:bean name="lee.BookService" id="bs"/>
  <s:updownselect list="#bs.books" name="cc" selectAllLabel="全部选择" multiple="true"
                  listKey="name" listValue="author" moveDownLabel="向下移动" moveUpLabel="向上移动"></s:updownselect>
</s:form>


    </body>
</html>

转自:http://blog.csdn.net/daryl715/archive/2008/03/11/2168737.aspx
分享到:
评论
2 楼 hanyu332 2010-07-24  
1 楼 xingkaistart 2008-07-09  
不错!!!
满有用的!

相关推荐

    ext tree json 例子(不含EXT包)

    最后,`extjs学习笔记三[Ext+json+jsp构建的动态树].mht`可能涵盖了一个基于EXT JS、JSON和JSP(Java Server Pages)构建动态树的教程。JSP通常用于动态生成HTML页面,而在这个案例中,它可能被用来生成JSON数据,...

    JavaEE学习笔记含代码网盘下载地址

    ### JavaEE 学习笔记概览 #### 一、JavaEE 概念及核心知识点 **JavaEE**(Java Platform, Enterprise Edition),即Java平台企业版,是为开发可移植、健壮、可伸缩、模块化且安全的服务器端应用而设计的。JavaEE ...

    jive.chm

    系统设计 1 jive设计思路 2 jive的工作内幕 3 Jive源代码研究 4 Jive中的设计模式 5 jive学习笔记 &lt;br&gt; 设计模式 1 大道至简-Java之23种模式一点就通 2 设计模式...

    extjs+韩顺平—玩转oracle视频教程笔记

    在"韩顺平—玩转oracle视频教程笔记"中,你将深入学习Oracle的使用技巧和管理方法,涵盖数据库设计、SQL查询、存储过程、触发器、索引优化等多个方面。教程可能还会涉及数据库备份与恢复、性能监控与调优,这些都是...

    思科ASA虚拟防火墙 asav-9.19.1-PLR-Licensed

    版本asav-9.19.1-PLR-Lic,此版本已包含永久许可。可使用以下命令检查: show licen 1.下载到本地,然后解压缩。 2.安装软件WinSCP或者其他SFTP软件,下载官网:https://winscp.net/eng/download.php。协议选择SCP/SFTP,主机名:EVEng获取的地址,用户名和密码:root和eve,上传镜像、图标、设备模板。 3.镜像文件夹复制到/opt/unetlab/addons/qemu目录,是整个文件夹,文件的"-"一定要有,这个名字是其他文件有关联的,别改。 4.设备图标位置:/opt/unetlab/html/images/icons/, 5.设备模版位置:/opt/unetlab/html/templates/ intel或者amd ,比如是intel芯片,就复制到/opt/unetlab/html/templates/intel/ 下面 6.每次上传完qemu后都要执行命令:/opt/unetlab/wrappers/unl_wrapper -a fixpermissions 执行权限调整脚本,是为了防止权限报错

    大创的经验分享,希望对你有帮助

    大创的经验分享,希望对你有帮助

    MATLAB Simulink进行外部数据谐波分解与波形畸变率分析:仅通过更改数据文件实现,MATLAB Simulink实现外部数据谐波分解与波形畸变率分析:仅通过更改数据文件完成,MATLAB中的

    MATLAB Simulink进行外部数据谐波分解与波形畸变率分析:仅通过更改数据文件实现,MATLAB Simulink实现外部数据谐波分解与波形畸变率分析:仅通过更改数据文件完成,MATLAB中的simulink 做外部数据的谐波分解,波形畸变率。 只需更改数据文件。 ,MATLAB; Simulink; 外部数据; 谐波分解; 波形畸变率; 数据文件更改,MATLAB Simulink:外部数据谐波分解与波形畸变率分析工具

    DeepSeek本地部署及使用详细指南.docx

    内容概要:本文档提供了详细的指南,帮助用户从头开始在本地环境中部署与使用当前流行的大规模语言模型DeepSeek R1。具体分为三个主要阶段:首先介绍了如何利用开源工具Ollama进行环境准备;其次讲解不同规格的DeepSeek R1模型的选择及其本地化安装方法;最后说明借助Cherry-Studio图形界面来进行更加便捷的操作和构建个性化知识库的方法。 适用人群:希望掌握大型预训练语言模型私有化应用的技术爱好者、开发者及科研工作者。 使用场景及目标:本指南旨在协助个人或者小型团队独立地在其控制下的硬件设施上快速搭建起高效稳定的自然语言处理平台,摆脱对外部云服务商的高度依赖,保护数据安全同时提高响应速度,特别适用于对于隐私性和性能有一定要求的企业内部交流协作系统建设。 其他说明:为了确保最佳效果,在整个过程中需要根据自身机器的具体情况调整参数设置;此外还需注意定期更新组件以保持兼容性和获得最新的改进特性。安装完成后,既可以直接启动终端对话测试,也可通过Cherry-Studio导入文档建立专属的知识管理体系。

    一款免费开源、电脑C盘空间清理等功能强大的系统维护工具的工具-Dism++

    Dism++是一款基于Windows底层 CBS(Component Based Servicing) 开发的系统管理工具,提供图形化界面(GUI),无需依赖微软自带的DISM命令行工具即可实现更底层的系统操作。它由初雨团队开发,以免费开源、无广告、轻量级为核心特点,支持Windows Vista至Windows 11全版本系统。无论是系统优化、垃圾清理,还是映像编辑、驱动管理,Dism++都能轻松胜任,被誉为“装机必备神器”。

    Saas Enterprise Resource Planning (开源Sass AI ERP.zip

    毕业设计

    自适应控制MATLAB(Simulink)仿真研究:涵盖基于liapunov稳定性理论、Narendra方案及超稳定性的多角度探讨,自适应控制MATLAB(Simulink)仿真详解:涵盖liapun

    自适应控制MATLAB(Simulink)仿真研究:涵盖基于liapunov稳定性理论、Narendra方案及超稳定性的多角度探讨,自适应控制MATLAB(Simulink)仿真详解:涵盖liapunov稳定性理论、Narendra方案及超稳定性理论与仿真报告,自适应控制相关的一些MATLAB(Simulink)仿真,包含: 1.基于liapunov稳定性理论的自适应控制 2.基于Narendra方案的自适应控制 3.基于超稳定性(有 无状态变量滤波器)的自适应控制 内容包括simulink仿真,以及相应的例题,推导过程,仿真报告等。 ,关键信息提取:liapunov稳定性理论; Narendra方案; 自适应控制; 超稳定性; 无状态变量滤波器; MATLAB; Simulink仿真; 仿真报告; 推导过程; 例题。 核心关键词:liapunov稳定性理论; Narendra方案; 自适应控制; 超稳定性; 无状态变量滤波器; MATLAB仿真; Simulink。,自适应控制理论及其MATLAB(Simulink)仿真实践:涵盖Liapunov稳定性、Narendra方案与超稳定

    云端猎手公海搜客小程序v1.1.8+前端.zip

    云端猎手公海搜客小程序v1.1.8+前端

    21考试真题最近的t314.txt

    21考试真题最近的t314.txt

    21考试真题最近的t336.txt

    21考试真题最近的t336.txt

    WIN11系统共享打印机出现0X000709错误一件修复

    WIN11系统共享打印机出现0X000709错误一件修复 在Windows 11 22H2版本升级的热潮中,不少用户已经率先体验了这一新系统的魅力。然而,部分用户在享受新版本带来的便利时,却遭遇了共享打印机错误代码0x00000709的困扰,导致打印任务无法正常进行。面对这一问题,许多用户感到手足无措。别担心,本文将为大家详细介绍一种第三方软件、无需复杂设置即可轻松解决Win11 22H2共享打印机错误的方法。

    壹佰智慧轻站V2 -1.0.33.zip

    壹佰智慧轻站V2 _1.0.33 壹佰智慧建站2.0,主打3分钟全平台建站,微信,支付宝,头条,抖音,QQ,全平台覆盖,一键生成,一个后台进行内容管理,干套精品模板一键导入,强大的组件属性,通过简单的拖拽组合,让小程序建站不再困难,不管是营销还是引流,都能轻松实现,搭配独有的智能获客系统,精准数据监控,涵盖访客分析、用户管理、预约管理等多项功能,搭建精细化的运营体系,让客户感知应用的每一分价值。 ##提示:应用升级后,小程序无需要新提交发布 后台应用 【优化】PC端功能优化 【优化】模板图片下载 【优化】小程序DIY预览

    智慧物流园区信息化解决方案PPT(47页).pptx

    在当今数字化浪潮中,智慧物流园区作为现代供应链体系的核心节点,正逐步迈向信息化、自动化与智能化的新高度。该方案融合了云计算、物联网、电子商务等前沿技术,旨在构建一个高效、协同、可持续发展的物流生态系统。通过引入先进的IT与CT技术,智慧物流园区不仅实现了园区的全面信息化,还优化了供销配运环节的运输、仓储、配送管理,有效整合了供应链上下游资源,形成规模效应。 方案的核心在于构建一个综合性的物流信息平台。这一平台横向兼容不同子系统,纵向灵活扩展应用构件,大幅降低投资成本。它提供信息查询、行业资讯、增值服务、交易平台等多种服务。用户可以通过该平台轻松获取交易、路况、空运、水运、铁路、气象等物流信息,以及市场动态、行业新闻、物流招标等行业资讯。此外,平台还提供货运跟踪、金融服务、报关代理等增值服务,以及车货匹配、电子商务、设备租赁等交易平台服务。这些功能的实现,大大提升了物流园区的运行效率和客户满意度。 更为先进的是,智慧物流园区还运用了物联网、GIS引擎、Mobile等先进技术,实现了收件、分拣、仓储、装卸等业务流程的可视化管理。通过全国联网平台,园区可以实时监控车辆、货物等关键信息,优化车辆调度和运输路线,提高按时送货率和车辆利用率。同时,智慧物流园区还注重安全防范,通过高清监控视频、智能视频分析技术等手段,实现了园区周界、出入口、仓库等重要区域的无死角监控和可视化报警联动。这些智能化应用不仅提升了园区的安全管理水平,还为用户提供了更加便捷、高效的物流服务体验。 总之,智慧物流园区整体架构方案以技术创新为驱动,通过构建综合性的物流信息平台、实现业务流程的可视化管理以及加强安全防范等措施,打造了一个高效、协同、可持续的物流生态系统。这一方案不仅提升了物流园区的运行效率和客户满意度,还为现代供应链体系的发展注入了新的活力。对于写方案的读者来说,该方案不仅提供了丰富的知识性内容,还展现了物流行业未来的发展趋势和智能化应用前景,具有很高的参考价值。

    22考试真题最近的t10.txt

    22考试真题最近的t10.txt

    逻辑编程与自动化推理:缩短证明

    本文介绍了一种扩展解析演算,基于引入新的存在量词。通过应用Q-扩展规则,可以获得多项式反驳,相较于传统的指数级解析反驳,极大地缩短了证明过程。文章详细描述了Q扩展的概念,并通过实例展示了其在简化证明中的有效性。此外,还比较了Q扩展与FR-推导和广义分解的概念,并讨论了新方法在保持可满足性等价性方面的优势。

    基于DBSCAN密度聚类的风电-负荷场景生成与削减模型研究:创新性与场景模型代表性分析,基于DBSCAN密度聚类的风电与负荷场景生成与削减模型研究,1关键词:密度聚类 场景削减 DBSCAN 场景

    基于DBSCAN密度聚类的风电-负荷场景生成与削减模型研究:创新性与场景模型代表性分析,基于DBSCAN密度聚类的风电与负荷场景生成与削减模型研究,[1]关键词:密度聚类 场景削减 DBSCAN 场景生成与削减; k-mean聚类 [2]参考文档:《氢能支撑的风-燃气耦合低碳微网容量优化配置研究》第3章 [3]主要内容:代码主要做的是一个基于DBSCAN密度聚类的风电-负荷场景生成与削减模型,首先,采集风电、电负荷历史数据。 然后,通过采用 DBSCAN 密度聚类的数据预处理消除异常或小概率电负荷、风电数据。 之后,针对风电波动性与电负荷时序性、周期性特点,将场景提取分为电负荷场景提取和风电场景提取。 不同于传统的Kmeans方法,此方法更加具有创新性,场景模型与提取更具有代表性,代码非常nice ,关键词:DBSCAN;密度聚类;场景生成与削减;风电场景提取;电负荷场景提取;k-mean聚类;创新性;容量优化配置。,基于DBSCAN与k-means的密度聚类模型在风电与负荷场景生成与削减的应用

Global site tag (gtag.js) - Google Analytics