知识大全 利用 Struts 实现动态控制表格大小(1)
Posted 表格
篇首语:逆水行舟用力撑,一篙松劲退千寻。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 利用 Struts 实现动态控制表格大小(1)相关的知识,希望对你有一定的参考价值。
利用 Struts 实现动态控制表格大小(1) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
在Succeeding with Struts的前面安装部分 我间接提到了DynaForms在运行期内可以动态的控制表格大小 换句话说 就是能够根据需要得到 行 或者 行 或者 行长的表格 可能有点不明智 我把这种策略的实际实现作为一种练习留给了读者自己 在接下来的几个月内 我收到了几十个读者的请求 他们请求给出详细的实现细节 所以这个月我将用两种不同的方法来实现动态调整的表格 第一个方法就是我在前面的栏目中提到的那个方法 将尺寸参数留给DynaForm 的form property 属性来实现 为了演示详细过程 我们来看看一个非常简单的应用 添加关于不同Star Wars 演员的注释 在这个应用中我们感兴趣的关键事实是 演员的数量在表格配置中动态设定 而不是在struts config xml文件中动态设定 首先 我们先来看看struts config xml 文件 <?xml version= encoding= UTF ?> <!DOCTYPE struts config PUBLIC //Apache Sofare Foundation//DTD Struts Configuration //EN config_ _ dtd ;> <struts config> <form beans> <form bean name= dynamicArrayForm type= apache struts validator DynaValidatorForm > <form property name= people type= demo Person[] /> </form bean> </form beans> <action mappings> <action path= /setupForm type= demo SetupFormAction name= dynamicArrayForm scope= session validate= false > <forward name= success path= /displayForm jsp /> </action> <action path= /processActorComments type= demo ProcessFormAction name= dynamicArrayForm scope= session validate= false > <forward name= success path= /displayForm jsp /> </action> </action mappings> </struts config> 如你所见 这是一个相当简单的配置文件 只定义了一个表格和两个动作 第一个动作 /setupForm 用来在初始显示之前配置表格 另一个动作 /processActorComments 用来处理用户输入的注释 在这个文件中有两个重要的事情需要注意 它们对于事态的发展很关键 people 表格属性定义为demo Person[] 类型(即demo Person的一个排列) 但不给出任何size 参数 这就为要创建的排列产生了一个占位符 但是没有任何例示的实排列 这两个动作将表格定义在会话期范围内 这是很关键的 因为用户在填写数值之后提交表格时 数值在动作执行之前已经填充到表格内了 这就意味着没有机会手动创建具有恰当空位数的排列 正如你在表格显示之前在SetupFormAction 类中看到的情况一样 换句话说 当表格提交时 必须已经有恰当的空位来接受表格值 唯一能保证这个的方法就是在会话期范围内就已经有了这个表格 基本上在Person bean 中是没有值的 他只是一个具有lastName firstName dateOfBirth gender 和ment字段的普通bean 源文件包括在WAR 文件内 现在我们来看看SetupFormAction 类 它在表格第一次显示之前调用 package demo; /** * Copyright James M Turner * All Rights Reserved * * A Struts action that sets up a DynaForm which is globally scoped */ import java io IOException; import javax servlet ServletException; import javax servlet *; import apache struts action *; import apache struts validator DynaValidatorForm; public class SetupFormAction extends Action public ActionForward execute(ActionMapping mapping ActionForm form HttpServletRequest request HttpServletResponse response) throws ServletException IOException DynaValidatorForm df = (DynaValidatorForm) form; Person[] p = new Person[ ]; p[ ] = new Person(); p[ ] setDateOfBirth( / / ); p[ ] setLastName( Ford ); p[ ] setFirstName( Harrison ); p[ ] setGender( M ); p[ ] = new Person(); p[ ] setDateOfBirth( / / ); p[ ] setLastName( Fisher ); p[ ] setFirstName( Carrie ); p[ ] setGender( F ); p[ ] = new Person(); p[ ] setDateOfBirth( / / ); p[ ] setLastName( Hamill ); p[ ] setFirstName( Mark ); p[ ] setGender( M ); df set( people p); return mapping findForward( success ); 这一次也没有许多东西要看的 execute 方法要做的第一件事情 和任何基于DynaForm的动作所做的一样 就是将泛型ActionForm 类放到DynaValidatorForm内 这就使得我们可以在表格上使用get和set 方法 第二件事情就是 创建一个具有三个元素的类型Person 的排列 在这个方法中 尺寸是硬布线的 在实际应用中可以从数据库中选择一个尺寸 我们需要考虑的重要事情是排列应该在代码中创建 而不是由Struts引擎自己创建 这样行数可根据应用要求由代码随意指定 一旦排列已经确定 方法将创建三个Person 类实例并赋与数值 同样 在实际的应用中可通过一个循环来实现 这个循环不断地从数据库中读取行和填充表格行 最后 动作返回成功 导致Struts转移控制到displayForm jsp 页 <! Copyright James M Turner All Rights Reserved > <%@ taglib uri= /WEB INF/struts tld prefix= %> <%@ taglib uri= /WEB INF/c tld prefix= c %> <head> <title>Star Wars Actor Fact Page</title> </head> <H ><center>Start Wars Actor Fact Page</title> <:form action= /processActorComments > <table border= width= % > <tr><th>Last Name</th><th>First Name</th><th>Date of Birth</th><th>Comment</th></tr> <c:forEach var= people items= $dynamicArrayForm map people > <tr><td><c:out value= $people lastName /></td> <td><c:out value= $people firstName /></td> <td><c:out value= $people dateOfBirth /></td> <td><:text name= people indexed= true property= ment /></td> </tr> </c:forEach> </table> <P/> <:submit value= Update Comments /> </:form> 同样 这里也没有很多东西要看的 他与我们上一篇文章查看固定长度的行时的代码完全一样 该页迭代行(记住在JSTL中我们必须使用map 属性来获得到DynaForm 属性的访问) 显示演员的姓 名和出生日期 并提供文本域以便输入注释 当我们聚焦我们的浏览器合请求时 (假设你把struts war 文件放在你本地机器的Tomcat 内) 将会出现下列页面 Start Wars Actor Fact Page Last Name First Name Date of Birth Comment Ford Harrison / / Fisher Carrie / / Hamill Mark / / cha138/Article/program/Java/ky/201311/28402相关参考
这篇文章介绍了js动态创建表格删除行列的实例代码有需要的朋友可以参考一下 复制代码代码如下:cha138/Article/program/Java/JSP/201311/20196
Excel表格中怎么制作带复选框的动态图表 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!Excel
Java框架:Struts的动态复选框 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! Strut
基于Struts1.2的动态多文件上传 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 首先是we
中表格的宽度怎么控制1,使用传统的方法<tablewidth=400><tr><tdwidth=100></td><tdwidth=100>
知识大全 excel表格里单元格插入图片,有什么方法能让图片自动适应单元格大小么,每次都调整图片大小很麻烦
excel表格里单元格插入图片,有什么方法能让图片自动适应单元格大小么,每次都调整图片大小很麻烦不行的。。虽然格片格式里有一个自动根据单元格来改变大小和位置。但不能实现和单元格一样的。因为你图片有估定
知识大全 2003版的电子表格转化为word文档形式后怎样调整格或者调整大小
请问一下:2003版的电子表格转化为word文档形式后怎样调整格或者调整大小?如果你用的第一种方法,插入后是一张矢量图片,鼠标点击后四个角落会有圆点,拖动圆点调节就好。如果是第二种方法直接复制的,那么
一个申请单可以包含N个项目添加申请单时就需要动态加入代码了 动态Table表格<tableborder=width=%id=tabzxname=tabzxalign=centerclass
cha138/Article/program/net/201311/12208
struts利用Token防止用户重复提交 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!