`
diaolanshan
  • 浏览: 175790 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

Struts标签详细介绍

    博客分类:
  • JAVA
阅读更多
Action和jsp的开发其实就是对Struts标签的运用.掌握标签的熟练程度决定了开发效率.初学者往往对某个数据表示或数据获取,束手无策.一个简单的问题浪费一两天时间也就不足为怪了.导致整个开发进度延后.外面的struts书籍介绍标签和数据传输原理都比较简单,下面我对标签技术和数据传输原理,进行全方位多角度的剖析.希望对各位有所帮助.以此为模版,将大大提高开发效率.以sample为机能名称. ①画面上有一text框,显现内容为某一数据表中的某一字段.那我们该如何设置和得到此数据呢? SampleJsp: SampleForm.java: // form文件名必须和jsp中标签的name对应 String name; // 必须和jsp中该项目的property一样 public String getName() { return name; } public void setName(String name) { this.name = name;} 变量和方法名,不可以顺意.变量abcd,那方法名就是setAbcd和getAbcd.注意大小写. jsp中的项目必然全部在form里面有所表示,当然反过来,form里的项目在jsp中不一定全部表示(可能有辅助动作的对象或验证) SampleAction.java public ActionForward start(ActionMapping mapping, ActionForm argForm, HttpServletRequest req, HttpServletResponse res) throws Exception { SampleForm form = (SampleForm) argForm; String name = ………………other codes for get name from db // set name form.setName(name); // now text will show the name } public ActionForward save(ActionMapping mapping, ActionForm argForm, HttpServletRequest req, HttpServletResponse res) throws Exception { SampleForm form = (SampleForm) argForm; // get name String name = form.getName(); ………………other codes for save name } jsp和form对应,action操作form,form其实起了传输数据的作用.这就是struts标签的核心原理.得到数据和设置数据没问题了,剩下的工作也就得心应手了. ②再看一个处理标签的方法.画面上是一个明细一览表示(表).表示的是数据表user的相关数据(id,name). SampleJsp: logic:present是逻辑判断,sampleForm中userList为空(无数据或null),下面的东东不显示. logic:iterate是逻辑循环,userList有几条数据,就循环几次. 是lable标签,显示user这个对象(entity)的id属性.或者说显示数据表user中的一条记录中的id这个列. User.java(就是entity,因为和业务密切,高达不开发,切记切记不可顺意修改.遇到设计有问题,QA日本) String id; public String getId() { return id; } public void setId(String id) { this.id = id; } String name; public String getName () { return name; } public void setName (String name) { this.name = name; } 看到这,是否觉得面熟啊,好象和FORM一样,但有点不一样,不一样在哪里,看下去后,自己感悟吧. SampleForm.java: List userList; public List getUserList () { return userList; } public void setUserList (List userList) { this.userList = userList; } form只要这些,那你会问,id和name,struts如何能得到呢?你不是说过jsp必须和form一样对应吗?不错,一一对应是肯定的. UserList信息已经包含了一切,还需要定义id和name吗?至于struts如何得到数据,那就看下面的action是如何处理的吧. SampleAction.java public ActionForward start(ActionMapping mapping, ActionForm argForm, HttpServletRequest req, HttpServletResponse res) throws Exception { SampleForm form = (SampleForm) argForm; ArrayList userList = new ArrayList(); User user = new User(); user.setId(1); user.setName(“name1”); userList.add(user); User user = new User(); user.setId(2); user.setName(“name2”); userList.add(user); // set userList form.setUserList(userList); // now table will show } 一切搞定.是不是很简单,但估计你还是有点晕.你还是想问我,id和name到底是如何设置的? Action设置了userList就够了,它包含够多的信息了. struts看见了你设置了userList.它就知道了这个list里面都user(entity),useruser(entity)里面不是有很多get,set方法吗? 再看下下面的东东. id=”user”,和name="user" 对应了,明白啥意思吗?.就象循环指明索引一样. property="id"就是要显示的这个索引对应的内容.Struts就是这样来认id和name的. ③接下来,看一个加强版的table例子,在显示的明细一览,每一行前面加一个radio框,让用户选择哪个user.进行删除操作. SampleJsp: sampleForm.java: String selectedUserId; public String getSelectedUserId () { return selectedUserId; } public void setSelectedUserId(String selectedUserId) { this.selectedUserId = selectedUserId; } SampleAction.java public ActionForward delete(ActionMapping mapping, ActionForm argForm, HttpServletRequest req, HttpServletResponse res) throws Exception { SampleForm form = (SampleForm) argForm; String selectedUserId = form.getSelectedUserId(); // get user by selected id User user = getUser(selectedUserId); // delete user } radio框. propertys值对应form里的对象.value值是该行radio对应的user中的id(数据表中user的id是主键),那么当用户选中任何一个radio,struts通过form得到propertys值,就可以得到选中哪个user了,然后进行相应操作. 设置哪个user被选中,一是通过用户选择,没的说.二,通过程序控制,如果进入初期画面,我要让user.id = ‘3’的radio被选中,只要在初期Action中form.selectedUserId(“3”);一切搞定,就一句话,进入初期画面时, user.id = ‘3’的radio被选中了. 注意以下标签 下面发挥想象一下以下标签啥意思? 能看出来什么? User包含object1,object2包含object3,….objectN-1包含objectN,objectN有id属性. 看出来了吗?灵活运用,想象一下,各个entity和form,action该如何写? ④接着介绍一下,checkbox是使用.画面有一排checkbox,如何设置和得到数据呢?先看一个简单点的. 第二个框未选中,其他选中.form里面对应三个String chechbox1,chechbox2, chechbox3;下面来个复杂点的,多选择对话框multibox SampleJsp中: SampleForm中: private String userList[] = new String[0]; public String[] getUserList () { return userList;} public void setUserList(String[]userList) {this.userList = userList;} private String selectedUsers[] = new String[0]; public String[] getSelectedUsers () {return selectedUsers;} public void setSelectedUsers (String[]selectedUsers) {this.selectedUsers = selectedUsers;} 如果我们在初期时在action里对bean赋值: userList = { User(”1”,”name1”), User(”2”, ”name2”), User(”3”,”name3”) } selectedUsers = {“1”,”3”} 那画面选中第一第三个选择框. 用户修改选择框,选择了第二,第三个,那么在action里取bean的值 String selectedItems[] = new String[list.getSize()]; selectedItems = form.getSelectedItems(); for ( int i = 0 ; i < selectedItems.length ; ++i ){ LOGGER.debug( "selected " + i + ": " + selectedItems[i]); } Selected 0 : 2 Selected 1 : 3 selectedUsers = {“2”,”3”} ⑤画面上有一user表,每条数据前面有个button,对应一条记录,如何确定选中那条数据呢?? SampleJsp: SampleAction.java int index = Integer.parseInt(form.getSelectUserIndex()); 通过一个隐藏变量,得到选中第几条数据,然后就能做相应处理. ⑥上面都是通过form和jsp传输数据的.还有session也能让jsp显示数据.但如果我做为设计者,是不提倡这样做的.为什么就不说了.但日本以前的设计很可能会用到session和jsp传数据.那我就有必要讲一下如何用了?做为高达的设计者还是尽量不要用session和jsp沟通. 有个下拉列表框,里面显示所有用户名称.用session传数据. SampleJsp: <%pageContext.setAttribute("userList",(List) (FwThreadContext .getAttribute("AllUser"))); %> SampleForm.java: String selectedUser; Form里只要一个selectedUser,表示选择的user. 下拉列表框用session表示. 在action等地方设置了session的内容,那下拉列表框就能显示内容了.这里session名为AllUser, labelProperty="name"是下拉列表框显示的东东, property="id"是下拉列表框每条数据隐藏的东东.通过property="selectedUser"里得到选中那条数据 这里很简单就是把session名为UserName设置到Text框中.得的时候还是通过form中的name得到. 标签宝典: 1,lable 2,text 3,button 4,select 5,checkbox,multibox 6, 循环逻辑 7,if逻辑
分享到:
评论

相关推荐

    struts标签 struts标签 struts标签

    Struts标签是Apache Jakarta Struts框架中的一部分,用于简化Java Web应用程序开发中的视图层构建。Struts标签库提供了一组预定义的JSP标签,这些标签有助于开发者更有效地处理常见的Web开发任务,如表单处理、数据...

    Struts标签库 Struts 标签库

    下面将详细阐述Struts2标签库的使用、功能和优势。 1. **Struts2标签库介绍** Struts2框架中的标签库是基于JSP标准标签库(JSTL)的扩展,它提供了一系列与动作、结果、表单和国际化相关的标签。这些标签能够帮助...

    Struts标签 Struts标签

    Struts标签 Struts标签Struts标签Struts标签Struts标签

    在Eclipse中配置Struts2项目(html)手把手教会你 +struts2 标签库介绍(html) + STRUTS2学习文档.pdf + Struts2―表单验证validate(html) + struts2和struts的比较 + struts教程(html)

    struts2 标签库介绍(html)对Struts2的标签做了详细的介绍让你轻松掌握Struts2的标签。 STRUTS2学习文档.pdf 对Struts2的一些配置文件进行了详细的说明。 Struts2―表单验证validate(html)对validate的type属性...

    HTML标签转STRUTS标签

    STRUTS标签通常与ActionForm、ModelDriven等概念结合,可以更方便地处理表单提交、数据验证、国际化等功能。常见的STRUTS标签有`&lt;s:form&gt;`、`&lt;s:textfield&gt;`、`&lt;s:textarea&gt;`、`&lt;s:submit&gt;`等。 在VS2005中进行HTML...

    struts标签库使用

    1. **Struts标签库介绍** Struts标签库主要分为两个部分:逻辑标签和表单标签。逻辑标签用于处理页面跳转和控制流程,而表单标签则用于显示和处理用户输入的数据。 2. **逻辑标签** - `&lt;logic:iterate&gt;`:用于...

    struts1标签库详解

    下面将对前三个标签库中的标签进行详细的介绍。 Bean Tags Bean Tags 是 Struts 中最基本的标签库,包含的标签可以用来创建 bean、访问 bean 和访问 bean 的属性。同时提供了依据 cookies、headers 和 parameters ...

    struts标签详解 (实例 很详细(war))

    本压缩包文件包含了关于Struts标签的详细解释和源码,非常适合学习和参考。 1. **HTML标签**: HTML标签主要用于生成常见的HTML元素,如表单元素(`&lt;html:form&gt;`)、文本输入(`&lt;html:text&gt;`)、复选框(`...

    Struts标签详细描述

    下面是对Struts标签的详细描述: 1. **Struts标签库介绍** Struts提供了多个预定义的标签库,如`struts-bean`, `struts-html`, `struts-logic`, 和 `struts-tiles`,这些库帮助开发者在JSP页面中处理常见任务,如...

    Struts标签参考 struts标签帮助

    "Struts标签参考"和"Struts标签手册"提供了详细的标签使用指南,涵盖了所有可用的标签、属性及其用法。开发者可以通过查阅这些手册,快速学习并掌握Struts标签的使用,提高开发效率。 总的来说,Struts标签是构建...

    struts标签库学习

    Struts标签库是Java Web开发中的一个重要组成部分,它极大地简化了开发者在JSP页面中处理业务逻辑和控制流程的工作。Struts是一个开源框架,最初由Apache软件基金会开发,旨在提供一个MVC(Model-View-Controller)...

    Struts标签 大全.html

    Struts标签 大全

    struts2详细介绍

    本文将从Struts2的安装、基本配置、关键组件和工作流程等方面进行详细介绍,帮助读者快速掌握Struts2的核心知识。 #### 二、Struts2环境搭建 首先,需要下载并解压**struts-2.1.6-all.zip**,这是Struts2 2.1.6...

    struts标签的使用及如何使用

    本文将详细讲解Struts标签的使用及其常见HTML标签库,并指导如何在Struts框架中有效应用这些标签。 一、Struts标签的基本概念 Struts标签是基于JavaServer Pages (JSP) 的自定义标签库,它们是专门为Struts框架设计...

    图像加法&struts用法标签大全

    在“struts标签.txt”文件中,可能包含了更多关于Struts标签的详细用法和示例。这些标签能够简化JSP页面的编写,提高开发效率,使得业务逻辑和视图层的分离更加清晰。通过学习和理解这些标签,开发者可以更好地掌握...

    struts框架详细介绍

    以下是Struts框架的详细知识点: **MVC模式** - **模型(Model)**:模型是应用的核心部分,负责处理业务逻辑和数据管理。它通常由JavaBean组成,封装了业务对象和业务处理方法。 - **视图(View)**:视图是用户...

    struts2标签库例子

    下面,我们将详细介绍 Struts2 标签库的使用。 4.1 通用标签 通用标签用来控制页面的执行过程,并从 Action 或值堆栈中取得数据。这些标签可以分为控制标签、数据标签和其他标签。 控制标签用来控制程序的执行,...

    Struts标签集合简介

    Struts标签是Apache Struts框架提供的...以上就是Struts标签的基本介绍,它们极大地简化了Struts2应用的视图层开发,提高了代码的可读性和维护性。通过熟练运用这些标签,开发者可以更高效地构建功能丰富的Web应用。

    Struts标签 和jstl标签

    Struts标签库是Apache Struts框架的一部分,它提供了丰富的标签来处理常见的Web开发任务,如表单处理、显示数据、控制流程等。使用Struts标签,开发者可以避免在JSP页面中直接编写Java脚本,降低代码的复杂度。例如...

    Struts标签库Struts标签库Struts标签库案例

    1. **Struts标签库介绍** - Struts标签库包括核心标签库(struts-tiles)和HTML标签库(struts-html),以及其他如逻辑标签库(struts-logic)、bean标签库(struts-bean)等。 - 核心标签库主要用于页面布局和...

Global site tag (gtag.js) - Google Analytics