Struts HTML标签

<html:html>标签

属性的作用:

lang:值为true时,就根据存储在HttpSession中的Locale对象来输出网页使用的语言。如果不存在session或session中没有Locale对象,就以Http请求头中的Accept-language属性来设置输出语言。如果请求头中没有Accept-language,就使用默认的Locale来输出语言

示例:

<html:htmllang="true"/>

<html:form>标签:生成HTML<formaction="">元素

属性的作用:

method:表单提交的方法

action:指定表单提交后,处理该请求的Action组件名称

示例:

<html:formmethod="POST"action="/index.do">

<html:text>标签:生成一个HTML<inputtype="text"/>

属性的作用:

property:与ActionFormBean中的属性名相对应,表单提交时会value属性中的值赋给相应的ActionFormBean中的属性。(REQUIRED)

value:指定文本框的默认值。

name:ActionForm的名称,或其他javabean的名称,用来给该控件提供数据。如果没有指定,那么将使用form标签中相应的ActionFormBean

示例:

<html:textproperty="name"/>

<html:password>标签:生成一个HTML<inputtype="password"/>

属性的作用:

property:与ActionFormBean中的属性名相对应,表单提交时会将value属性中的值赋给相应的ActionFormBean中的属性(REQUIRED)

value:指定密码文本框的默认值。

name:ActionForm的名称,或其他javabean的名称,用来给该控件提供数据。如果没有指定,那么将使用form标签中相应的ActionFormBean

redisplay:取值为true或false。在密码框中填入内容后,从新刷新(请求)该页面是否仍保留已经填写过的密码。推荐选择false

示例:

<html:passwordredisplay="false"property="password"/>

<html:radio>标签:生成一HTML<inputtype="radio"/>

属性的作用:

property:与ActionFormBean中的属性名相对应,表单提交时会将value属性的中值赋给相应的ActionFormBean中的属性(REQUIRED)

value:指定单选按钮的默认值。(REQUIRED)

name:ActionForm的名称,或其他javabean的名称,用来给该控件提供数据。如果没有指定,那么将使用form标签中相应的ActionFormBean

bundle:指定特定的ResourceBundle,它与struts-config.xml中

<message-resourceskey=""/>元素中的key中的值对应

示例:

<html:radiovalue="boy"property="sex">boy</html:radio>

<html:radiovalue="girl"property="sex">girl</html:radio>

<html:radio>使用了同一个property,表示它们是一个组,只能从其中任选一个。其对应的ActionFormBean中的属性为sex,sex中的值为被选中的单选按钮中的值,如果没有一个单选按钮被选中,那么sex中的值为null

<html:multibox>标签:生成一个HTML<inputtype="checkbox"/>

属性的作用:

property:与ActionFormBean中的属性名相对应,表单提交时会将value属性中的值赋给相应的ActionFormBean中的属性。(REQUIRED)

value:指定复选框的默认值。

name:ActionForm的名称,或其他javabean的名称,用来给该控件提供数据。如果没有指定,那么将使用form标签中相应的ActionFormBean

bundle:指定特定的ResourceBundle,它与struts-config.xml中

<message-resourceskey=""/>元素中的key中的值对应

示例:

<html:multiboxproperty="favorite"value="movie"/>

<html:multiboxproperty="favorite"value="VideoGame"/>

<html:multiboxproperty="favorite"value="BasketBall"/>

相对应的ActionBeanForm中的属性及相应的getter与setter方法如下:

privateStringfavorite[]=newString[0];

publicvoidsetFavorite(Stringfavorite[])

{

this.favorite=favorite;

}

publicString[]getFavorite()

{

returnfavorite;

}

表单提交时(如果全部选中),会将value属性中的值保存至数组中,那么favorite数组中的内容为{"movie","VideoGame","BasketBall"}。如果"VideoGame"没有被选中,那么提交后favorite数组中的内容为:

{"movie","BasketBall"}

<html:select>标签:生成一个HTML<selectmultiple="">

语法格式:

<html:selectproperty="country"multiple=“”size=“”>

<html:optionvalue="Canda"/>

<html:optionvalue="China"/>

<html:optionvalue="American"/>

</html:select>

属性的作用:

property:与ActionFormBean中的属性名相对应,表单提交时会将value属性中的值赋给相应的ActionFormBean中的属性。(REQUIRED)

multiple:指定是否多选,如果设置为true,就表示多选列表,支持多项选择;如果设置为false,则表示下拉列表,支持单项选择。默认为false。

name:ActionForm的名称,或其他javabean的名称,用来给该控件提供数据。如果没有指定,那么将使用form标签中相应的ActionFormBean

size:指定每次在网页上可以显示的选项的数目

示例:

<html:selectproperty="country"multiple="false">

其所对应ActioFromBean中的Stringcountry;属性

<html:selectproperty="skill"multiple="true"size="3">

其所对应ActioFromBean中的属性及getter和setter方法如下:

privateStringskill[];

publicString[]getSkill()

{

returnskill;

}

publicvoidsetSkill(String[]skill)

{

this.skill=skill;

}

<html:select>不单独使用,要指定<html:select>中选项的值必须使用<html:option>作为其子元素。下面介绍<html:option>的用法

<html:option>属性的作用:

value:指定该组件在网页中显示的内容

bundle:指定特定的ResourceBundle,它与struts-config.xml中

<message-resourceskey=""/>元素中的key中的值对应

key:<message-resources>元素中配置的ResourceBundle文件中消息key相对应

示例:

1、直接赋值

<html:optionvalue="SQLServer"/>

2、采用ResourceBundle文件绑定

struts-config.xml中配置如下

<message-resources

key="myresource"

parameter="com.accp.struts.ApplicationResources"

/>

ApplicationResources文件内容如下:

form.skill=SQLServer

<html:optionvalue="form.skill"

bundle="myresource"

key="form.skill"/>

<html:link>标签:生成一个超链接

属性的作用:

page:要链接页面的相对路径,一般用于链接同一应用程序中的页面

href:要链接页面的完全路径,一般用于链接不同应用程序中的页面

forward:将请求转发给struts-config.xml中所配置的<global-forwards>元素下的<forward>,再由其转发给要链接的页面

action:将请求转发给任意一个Action

示例:

<html:linkpage="/other.jsp">

<html:linkhref="/MyHtml/other.jsp">

<html:linkforward="other">

与其相对应的是

<global-forwards>

<forwardname="other"path="/other.jsp"></forward>

</global-forwards>

<html:linkaction="/other.do">

与其相对应的是:

<action-mappings>

<actionforward="/other.jsp"path="/other"/>

</action-mappings>

<html:errors>输出保存在ActionMessages中的错误消息

属性的作用:

name:指定ActionMessages对象存放在request,session中的key,如果未指定。默认为Globals.ERROR_KEY.(一般不要指定)

property:指定消息的属性。如果为设置,将显示ActionMessages中的所有信息。

bundle:指定ResourceBundle。如果没有设置,则使用默认的ResourceBundle

使用步骤:

1)创建资源文件ApplicationResources.properties,向其中指定一些预定义信息

errors.error.one=<fontcolor\="red">thisisa

ActionErrors'smessage</font><br/>

errors.error.three=<fontcolor\="blue">thethird

ActionErrors'smessage</font><br/>

errors.error.two=<fontcolor\="green">thesecondActionErrors'smessage</font><br/>

注:<html:errors>可以自动识别html元素

ApplicationResources.properties文件在struts-config.xml中按如下方式配置

<message-resources

key="form"--注意:这里指定了该文件的key

parameter="com.accp.resource.ApplicationResources"

/>

2)在ActionFormBean中的validate()方法中加入如下代码:

ActionErrorserrors=newActionErrors();

errors.add(Globals.ERROR_KEY,

newActionMessage("errors.error.one"));

errors.add(ActionMessages.GLOBAL_MESSAGE,

newActionMessage("errors.error.two"));

errors.add("threeError",

newActionMessage("errors.error.three"));

注意:

(a)三个add()方法中第一个参数不同,Globals.ERROR_KEY与ActionMessages.GLOBAL_MESSAGE都是系统默认的常量,其功能一样。"threeError"为自定义值。

(b)以上代码也可以写入Action类中的execute()方法中,但是后面要加上一下代码

this.addErrors(request,errors);

3)在网页中显示<html:errors>中的内容

a)显示所有信息:

<html:errorsbundle="form"/>

注意:<html:errors>中的bundle属性中的值"form"与struts-config.xml文件中

<message-resources

key="form"

parameter="com.accp.resource.ApplicationResources"

/>

中的key="form"相匹配

如果struts-config.xml文件中<message-resources>并没有指定key属性,那么<html:errors>中的bundle属性就可以省略

即:

<message-resources

parameter="com.accp.resource.ApplicationResources"

/>

<html:errors/>

<html:errors/>

b)显示特定信息:

<html:errorsproperty="threeError"bundle="form"/>

注意:<html:errors>中的property属性中的值"threeError"与前面步骤(2)中的代码

errors.add("threeError",

newActionMessage("errors.error.three"));

中的"threeError"相同。这样可以输出想要显示的信息

<html:messages>输出保存在ActionMessages中的错误消息

语法格式:

<html:messages>

<bean:writename="message"/>

</html:messages>

属性的作用:

name:指定ActionMessages对象存放在request,session中的key,如果未指定。默认为Globals.MESSAGE_KEY.(一般不要指定)

id:为从消息中检索出来的ActionMessages对象命名。该名称要和

<bean:write/>中name属性的值相同。

bundle:指定ResourceBundle。如果没有设置,则使用默认的ResourceBundle

message:指定消息的来源,默认值是true。如果为true,就从request,

session范围内检索key为Globals.MESSAGE_KEY的ActionMessages对象,此时name属性无效。如果为false,那么就根据name属性中的值来检索ActionMessages对象,此时若没有设置name属性,将采用默认值Globals.ERROR_KEY。

filter:是否过滤资源文件中的html标记。false为不过滤,true为过滤。

默认值为true。

注:<html:errors>不可以自动识别html元素,它会将html元素当作普通字符。

使用步骤:

(1)创建资源文件ApplicationResources.properties,向其中指定一些预定义信息

errors.message.one=<fontcolor\="red">thisisa

ActionMessage'smessage</font><br/>

errors.message.three=<fontcolor\="blue">thethird

ActionMessage'smessage</font><br/>

errors.message.two=<fontcolor\="green">thesecond

ActionMessage'smessage</font>

ApplicationResources.properties文件在struts-config.xml中按如下方式配置

<message-resources

key="form"--注意:这里指定了该文件的key

parameter="com.accp.resource.ApplicationResources"

/>

(2)在Action类的execute()方法中加入如下代码:

ActionMessagesmessage=newActionMessages();

message.add(ActionMessages.GLOBAL_MESSAGE,

newActionMessage("errors.message.one"));

message.add(Globals.MESSAGE_KEY,

newActionMessage("errors.message.two"));

message.add("threeMessage",

newActionMessage("errors.message.three"));

this.saveMessages(request,message);

注意:

(a)三个add()方法中第一个参数不同,Globals.ERROR_KEY与ActionMessages.GLOBAL_MESSAGE都是系统默认的常量,其功能一样。"threeMessage"为自定义值。

(b)以上代码不可以在ActionFormBean类中的validate()方法中使用。

(3)在网页中显示<html:messages>中的内容

a)显示所有信息:

<html:messagesbundle="form">

<bean:writename="message"filter="false"/>

</html:messages>

注意:<html:messages>中的bundle属性中的值"form"与struts-config.xml文件中

<message-resources

key="form"

parameter="com.accp.resource.ApplicationResources"

/>

中的key="form"相匹配

如果struts-config.xml文件中<message-resources>并没有指定key属性,那么<html:errors>中的bundle属性就可以省略

即:

<message-resources

parameter="com.accp.resource.ApplicationResources"

/>

<html:messages>

<bean:writename="message"filter="false"/>

</html:messages>

b)显示特定信息:

<html:messagesid="message"bundle="form"

property="threeMessage">

<bean:writename="message"/>

</html:messages>

注意:<html:messages>中的property属性中的值"threeMessage"与前面步骤(2)中的代码

message.add("threeMessage",

newActionMessage("errors.message.three"));

中的"threeMessage"。

这样可以输出想要显示的信息(实际上在这里不会输出任何内容,但是若和validator验证框架一起使用便可以看到效果,这种使用方法,可以参考validator验证框架中的例子)

<bean:message>输出资源文件中的信息

属性的作用:

bundle:指定ResourceBundle。如果没有设置,则使用默认的ResourceBundle

key:指定ResourceBundle中的key

arg0,arg1,arg2,arg3:ResourceBundle中资源文件内容的占位符

使用步骤:

(1)创建资源文件ApplicationResources.properties,向其中指定一些预定义信息

message.info=<fontcolor\="red">thisisamessageformresourcebundle</font><br>

message.info.args=<fontcolor\="red">hello{0},

welcometo{1}</font><br>

ApplicationResources.properties文件在struts-config.xml中按如下方式配置

<message-resources

key="form"--注意:这里指定了该文件的key

parameter="com.accp.resource.ApplicationResources"

/>

(2)在网页中显示<bean:messages>中的内容

(a)<bean:messagebundle="form"key="message.info"/>

注意:<bean:messages>中的bundle属性中的值"form"与

struts-config.xml文件中

<message-resources

key="form"

parameter="com.accp.resource.ApplicationResources"

/>

中的key="form"相匹配

如果struts-config.xml文件中<message-resources>并没有指定key属性,那么<bean:message>中的bundle属性就可以省略,即:

<message-resources

parameter="com.accp.resource.ApplicationResources"

/>

<bean:messagekey="message.info"/>

(b)<bean:messagebundle="form"

key="message.info.args"

arg0="jack"arg1="xfaccp"/>

其中:arg0,arg1分别对应资源文件

message.info.args=<fontcolor\="red">hello{0},

welcometo{1}</font><br>

中的{0},{1}

相关推荐