- 浏览: 43679 次
- 性别:
- 来自: 广州
文章分类
最新评论
html标签库
生成html元素的标签
1)<html:link>相当于<a href>标签
A)href:要链接的目的地。比如:<html:link href="a.jsp">进入a.jsp</html:link>
B)forward:要链接到全局转发<html:link forward="msg" >this link</html:link>
首先要在struts-config.xml中配置全局转发
<global-forwards>
<forward name="msg" path="/msg.jsp"/>
</global-forwards>
C)值得注意的是超连接也可以连接action。此时属于get提交,因此不用ActionForm.
比如:
<html:link href="SumAction.do?n=4" >this link</html:link>
举例:通过本页面进行处理。之后把结果返回本页面,而不是其它的页面
创建一个Action,但是不需要创建ActionForm,然后配置此Action的forward
让此Action处理完结果之后,跳转回自己
D)该标签最具有特色是可以把四种范围内(request,page,session.applicaion)内的
变量或javabean的值做为参数进行传递, 比如:
pageContext.setAttribute("uid","chen");
<html:link page="msg.jsp" paramId="uid" paramName="uid">this pram link</html:link>
paramId:指定get参数名
paramName:指定参数的值
<jsp:useBean id="sum" class="ht.NetBook.sumBean" scope="page"/>
<jsp:setProperty name="sum" property="n1" value="10"/>
<html:link href="msg.jsp" paramId="n1" paramName="sum" paramProperty="n1">
paramName:指定javaBean的名字
paramProperty:指定javaBean属性,该连接会自动的把javaBean的属性取出来做为get的提交值
举例:通过数据库取出员工的基本资料,然后显示,注意放入删除超连接
思路:通过javaBean结合超连接进行
2)<html:img src="ab.jgp"/>图像标签。相当于<img>标签
生成html表单元素的标签
1)<html:form action="Action.do">
A:用于生成表单
B:action用来指定跳转到struts-config.xml中配置的Action
对于<html:form>的说明:
C:struts表单元素的标签一定要嵌套在<html:form>标签里面,否则会出现错误
比如:
<form id="frm" action="testAction.do"> //这是html表单
单价:<html:text property="price"/>//而这是struts表单元素
</form>
D:一个Action可以没有对应的ActionForm,但是<html:form action>对应的Action一定要
有ActionForm,否则会出现错误 比如:
<html:form action="testAction.do">
</html:form>
而struts-config.xml的Action配置如下:
<action path="/testAction" type="ht.NetBook.struts.Action.testAction" />
即表示testAction没有与之对应的ActionFrom,运行时会出现以下错误:
Cannot retrieve definition for form bean null on action testAction.do
如果form Bean为空,则不能编译
E:<html:form>不需要加id或name属性,它经过IE解释之后其名字自动变成与之对应的
ActionForm的名字,这也就是为什么如果不为Action指定ActionForm会出错的原因
F:结论:如果要使用struts表单元素必须要放在<html:form>中,而此
<html:form>对应的Action一定要有ActionForm才可以正常运行,
如果不使用struts表单元素,也可以使用普通的html标签,同样
可以与struts结合,但是struts里面的有些标签更加智能
3)<html:button property="register"/>生成普通的按钮
4)<html:submit>提交</html:submit>生成提交按钮
5)<html:reset>重置</html:reset>生成重置按钮
6)<html:text property="uid"/>用于生成文本框
A:prperty中的值一定要与ActionForm中的属性值保持一致
B:struts里面的文本框在表单提交以后值会依然保留这与一般的html标签不一样
C:可以使用<html:text property="uid" value="值"/>的方法赋值给文本框
7)<html:reset>复位</html:reset>与普通html的重置按钮一样
8)<html:submit>提交</html:submit>与普通的html的提交按钮一致
9)<html:checkbox>相当于html的checkbox
格式:<html:checkbox property="discount"/>
其中的property中的属性名一定要与ActionForm中类型为布尔类型的属性关联 比如:
public class discountActionForm extends ActionForm {
private boolean discount=true; //此处将会使checkbox自动勾选
}
则可以使用<html:checkbox property="discount"/>与该discount的关联
说明:
1)该标签一定要配合普通隐藏域标签才能够正常使用,否则只有勾选一次,以后不管是否勾选其值都是true
<html:checkbox property="discount"/>
<input type="hidden" name="discount" value="flase">
2)可以Action中的Excecute方法里面。去检查discount的值
discountActionForm frm=(discountActionForm)form;
if (frm.getDiscount()) {做一些事件}
3)该标签默认情况是在页面初始化时不会自动选中,可以设置ActionForm里面的属性默认
值为true.比如:
举例:让用户输入商品单价与商品数量,实付款,用是否打折来显示应付款与找零
10)<html:multibox/>产生复选框
与<html:checkbox>的区别在于,它可以与ActionForm中数组属性对应 比如:
<html:multibox property="love" value="唱歌"/>唱歌<br>
<html:multibox property="love" value="跳舞"/>跳舞<br>
<html:multibox property="love" value="足球"/>足球<br>
<html:multibox property="love" value="音乐"/>音乐<br>
说明:
1)其中每个mulitbox的property值必须一样,才可以做为一个复选框组。
2)property="love"中的love必须是在ActionForm中定义的数组
private String love[];
public String[] getLove() {
return love;
}
public void setLove(String[] love) {
this.love = love;
}
3)当用户选中某个复选框后,会把该复选框的值存入ActionForm中的love数组中
4)与<html:checkbox>一样,也存在同样的缺点,就是如果选中之后取消勾选此时
还是会继续勾选。解决的方案是增加一个隐藏域
<html:multibox property="love" value="唱歌"/>唱歌<br>
<html:multibox property="love" value="跳舞"/>跳舞<br>
<html:multibox property="love" value="足球"/>足球<br>
<html:multibox property="love" value="音乐"/>音乐<br>
<input type="hidden" name="love"/>//注意不要value=flae
5)加了隐藏域之后,struts会把隐藏域的值也加入到love数组中,所以在使用时,
应该去掉。for(int i=0;i<frm.getLove().length-1;i++) //长度减1去掉
举例:
1)爱好,把人的爱好放入数据库中保存
2)各模块之间的权限管理
11)<html:radio>产生一组单选框
<html:radio property="degree" value="1">高中</html:radio><br>
<html:radio property="degree" value="2">中专</html:radio><br>
<html:radio property="degree" value="3">大学</html:radio><br>
<html:radio property="degree" value="4">小学</html:radio><br>
说明:
1)property的值必须与ActionForm中的某个属性关联,以后选择了那个单选框
Struts就会与之对应的值赋给ActionForm的关联的属性
2)单选框不需要隐藏域,就可以正常的工作
3)如何要设置默认的选项,可以把ActionForm中关联的属性值设置成单选框中
与之对应的值
public class discountActionForm {
private String degree="1";//设置默认值。
}
这样"高中"就默认选中了。因为ActionForm中的degree关联的值与"高中"单选框的值相同
举例:
1)爱好
2)投票---要求从数据库读取投票项,进行投票
12) <html:select property="color">下拉列表框
A:一个<html:select>会包括多个<html:option>
B:property属性值与ActionForm中对应的属性关联。
public class ActionForm extends ActionForm {
private String color;
get...
set...
}
C:<html:option>中有一个显示值与实际值
<html:select property="color">
<html:option value="yellow">黄色</html:option>
<html:option value="green">绿色</html:option>
<html:option value="blue">蓝色</html:option>
</html:select>
D:<html:select>不用设置默认值,它会自动选中第一项
D:该类型的下拉列表一般适合于不与数据库发生交互的情况
13)<html:options collection>该options非常适合于与数据库进行交互
比如:<html:options collection="save" labelProperty="voteItem" property="id"/>
A:<html:options>标签必须放在<html:select>里面
B:collection表示Javabean的一个集合,该集合一定要放在四个范围里面
C:labelProperty表示显示的值
D:property选中之后的值
比如:一个jsp页面
<%
java.util.List save=votes.getAllvote();//返回投票的javabean的集合
request.setAttribute("save",save);
%>
<html:select property="id"> //此处的id一定要与ActionForm中的属性对应
<html:options collection="save" labelProperty="voteItem" property="id"/>
</html:select> //此处不能用${save}
ActionForm的定义
public class voteActionForm extends ActionForm {
private String id;
get...
set...
}
JavaBean(描述类vote)的定义
public class vote {
private String id;
private String voteItem;
get...
set...
}
管理类(votes)的定义
pulbic class votes{
public static List getAllvote() {
vote newInstance=new vote();
newInstance.setId(rs.getInt(1));
newInstance.setVoteItem(rs.getString(2));
list.add(newInstance);
return list;
}
}
举例:
1)用<html:select>结合<html:options>来重做投车票项目
2)让用户选择部门编号,查询出对应的职工信息。要求部门用下拉框实现
10)<html:file property="file">文件上传组件
A:<html:file>必须嵌套在<html:form>标签中
B:<html:form>标签的method必须为post提交
C:<html:form>中的enctype必须为multipart/form-data method="post"
D:<html:file>标签必须设置property属性。这个属性和ActionForm中的
的FormFile类型的属性对应
比如:
====================ActionForm========================
private private org.apache.struts.upload.FormFile file;
public get...
public set....
==========================jsp页面===========================
<html:form action="SumAction.do" method="post" enctype="multipart/form-data" >
<html:file property="file"/>注意这里面的file与ActionForm中的file属性对应
<html:submit>提交</html:submit>
</html:form>
============================Action===========================
uploadActionForm frm=(uploadActionForm)from;
FormFile file=frm.getFile();//得到file对像
String fileName=file.getFileName();//得到要上传的文件名
String dir=servlet.getServletContext().getRealPath("upload");
//得到文件的路径,这里面统一上传到upload文件夹下面(WebRoot\upload)
String serverPath=dir+"\\"+fileName; //服务器的实际文件路径
InputStream inputStream=file.getInputStream();//输入流
OutputStream outputStream=new FileOutputStream(serverPath);//输出流
int readBinary=0;
byte buffer[]=new byte[8192];//缓冲区为1024*8也就是8字节
while((readBinary=inputStream.read(buffer, 0, 8192))!=-1) {
//从inputStream中每次读取8字节的的数据到byte数据组中
outputStream.write(buffer, 0, readBinary); //写入到outputStream中
}
outputStream.close();
inputStream.close();
===========================inputStream.read的介绍==================
inputStream.read(byte b[],int off,int len)
读取len个字节,放置到下标off开始的字节数组b中,返回实际读取的字节的数量
一般off都是零,因为是从数组的第一个位置开始填充
发表评论
-
Struts 1.x | 通过stuts中的Token(令牌)阻止页面重复提交
2009-04-15 22:38 1355通过stuts中的Token(令牌)阻止页面重复提交 ... -
Struts 1.x | 让dw支持struts
2009-04-15 22:37 1066让dw支持struts 1) 正常情 ... -
Struts 1.x | validator 动态验证框架
2009-04-15 22:35 2192Struts validator 动态验证框架 1) ... -
Struts 1.x | DynaActionForm (动态ActionForm)
2009-04-15 22:34 2496struts动态ActionForm 1)什么是动态 ... -
Struts 1.x | 使用struts中的tiles框架技术使用模板页
2009-04-15 22:32 14681) 在开发Web应用程序时,常常要求同一个站点的所有Web页 ... -
Struts 1.x | DispatchAction
2009-04-15 22:31 1629DispatchAction 1)使用Dis ... -
Struts 1.x | <logic> 标签库
2009-04-15 21:09 2107<logic> 标签库 ... -
Struts 1.x | <bean> 标签库
2009-04-15 20:48 1479Bean标签库 1)Bean标 ... -
2009-03-26 | user.UserAction ClassNotFoundExeption
2009-04-15 19:13 749背景:struts ,DispatchAction 实验,项目 ...
相关推荐
`<write>`标签是Struts的HTML标签库的一部分,主要用来在JSP页面中显示来自ActionForm或者Servlet请求范围内的属性值。例如,如果你有一个名为`username`的属性存储了用户的名字,你可以使用`<write>`标签将其显示在...
Struts1.x HTML标签库是Java Web开发框架Struts1.x中的一个重要组成部分,它提供了一系列预定义的JSP标签,方便开发者创建与HTML表单交互的动态页面。这些标签简化了传统的HTML元素,并且与Struts框架紧密集成,使得...
本示例主要探讨Struts1.x的标签库使用,这个标签库是Struts框架提供的一套JSP标签,用于简化视图层的开发,提高代码的可读性和可维护性。 **1. Struts1.x标签库概述** Struts1.x标签库是基于JSP自定义标签的集合,...
5. **JSP和Tags**:Struts1.x提供了丰富的JSP标签库,如logic标签(条件判断)、bean标签(对象操作)、html标签(表单元素)等,简化了视图层的开发,使得业务逻辑和展示逻辑得以分离。 6. **国际化与本地化**:...
Struts1.x标签库是Apache Jakarta Struts框架的一部分,它为开发Java Web应用程序提供了一组丰富的标签,使得开发者能够更方便地处理常见的Web界面任务。这些标签被组织成五个主要的标签库,分别是Bean Tags、HTML ...
5. **JSP Tag Library**:Struts 提供了一系列自定义JSP标签库,如logic、bean、html等,简化了视图层的开发。例如,`<s:form>`用于创建表单,`<s:textfield>`用于创建输入字段,`<s:submit>`用于提交表单。 6. **...
- Struts1提供了一套丰富的JSP标签库,如`<bean:message>`和`<html:error>`,这些标签可以方便地与资源包中的消息对应,动态显示本地化的文本。 5. **配置文件**: - 在`struts-config.xml`中,可以通过`message-...
本资源集合包含了所有最新的Struts1.x项目应用,为开发者提供了一个宝贵的参考资料库。 Struts1.x的核心组件包括: 1. **ActionServlet**:这是Struts框架的核心,作为Servlet拦截请求,根据配置文件(struts-...
在Struts1.x框架中,标签库分为两部分:核心标签库(Core Tags)和HTML标签库(HTML Tags)。核心标签库主要用于处理请求、转发和重定向,而HTML标签库则专注于生成常见的HTML表单元素。 1. **核心标签库(Core Tags...
使用Struts的 `<logic:messagesPresent>` JSP标签来显示任何错误消息,或者在视图层使用条件语句来根据Action的返回值展示不同的界面。 8. **运行和测试**: 配置好Web应用服务器(如Tomcat),将项目部署上去,...
在Struts1.x中,HTML标签库提供了一系列的定制化标签,简化了视图层的开发,比如`html:radio`, `html:checkbox`, `html:multibox`和`html:select`,这些都是用来创建用户交互界面的元素,主要用于处理表单数据的输入...
- 首先,你需要下载Struts1.x的库文件,如struts-1.3.10-all.zip,并将其解压缩。 - 在解压后的lib目录中,你可以找到所有必需的jar文件,包括Struts框架的实现和其他依赖。 - 创建一个新的Web项目,例如myStruts...
Struts1.x 标签库详解 Struts1.x 标签库是 Apache Jakarta 项目的一部分,目标是为构建基于 Java 的 web 应用程序提供一个框架。Struts 提供了非常多的标签,依据功能和使用习惯的不同被分到了五个标签库中:Bean ...
4. **Html标签**:除了与ActionForm相关的标签外,Html标签库还包含一些通用的HTML元素,如`<html:link>`用于创建链接,`<html:image>`用于显示图像。 5. **Tiles标签**:Tiles扩展了Struts1.x的功能,允许开发者...
在JSP页面中,可以使用Struts标签库的`html:errors`标签来显示验证错误。这个标签会遍历ActionForm的`fieldErrors`,并显示每个字段的错误消息。 7. **自定义验证器** 如果内置的验证器不能满足需求,可以创建...
`login.jsp`中通常包含一个`<html:form>`标签,提交到`/login.do`。 以上就是使用Struts1.x实现登录功能的基本流程。通过这个示例,你可以学习到Struts1.x的MVC设计模式,以及如何在实际项目中组织代码和配置。不过...
同时,使用Struts标签库中的`<html:file>`标签创建文件输入控件。 ```jsp <form action="upload.do" method="post" enctype="multipart/form-data"> <html:file property="file" name="uploadForm" /> <input type...
### Struts1.x 标签详解 #### 一、引言 Struts 是 Apache Jakarta 的一个著名开源项目,旨在为构建基于 Java 的 Web 应用程序提供一个强大的框架。Struts 提供了大量的标签来帮助开发者简化开发过程。本文将详细...
1. <s:bean name=""></s:bean>-----类似于struts1.x中的,JavaBean的值 C: 1. <s:checkbox></s:checkbox>-----复选框 2. <s:checkboxlist list=""></s:checkboxlist>-----多选框 3. <s:combobox list=""></s:...
标题提到的"扩展Struts1.x标签"指的是开发者根据项目需求自定义了Struts1.x的标签库,增加了新的功能,例如Select和Table标签。 1. **Select标签**: Select标签是用于在HTML表单中创建下拉选择框的。原生的Struts...