引入struts html标签,【学习】Struts标签之html标签

html:multibox

html:multibox标签生成多个checkbox。当您要使用大量的checkbox时使用这个标签非常方便,可以使您避免在ActionForm中声明大量的boolean类型的变量,带之以一个数组就行了。

注意:为了正确的处理没有选中的checkbox您必须在reset()中设置数组的长度为0。

下面的代码示例了html:multibox标签的一般用法,如果被提交则选中的所有checkbox的value值将被提交到multiboxForm中的selectedItems中,这是一个String[]数组。

下面的代码示例了html:multibox标签的典型用法:

html:link

html:link标签生成一个锚点()元素。我从html:link标签如何构造基本url和如何构造query参数两个方面来介绍这个标签。

构造基本url是依据该标签的如下四个属性进行的,这四个属性一次只能出现一个。让我们看看它们: forward,指定一个全局ActionForward的名称。另外如果forward是module相关的则该forward必须指向一个action而不能是一个页面。 action,指定一个Action的名称。 href,struts会直接使用这个值而不会对其进行任何处理。 page,指定一个页面的路径,必须以/开始。 构造query参数,下面列举了可能的形式,其中baseurl只是一个占位符: baseurl?p=00001(单参单值) baseurl?p1=00001&p2=00002&p3=00003(多参单值) baseurl?p=00001&p=00002&p=00003(单参多值) baseurl?p1=00001&p2=00002&p=00001&p=00002&p=00003(混合) 下面我们以代码示例来说明每一种html:link的用法,首先让我们花点时间看看相关action中的代码:

public ActionForward execute(ActionMapping mapping,ActionForm form,

HttpServletRequest request,HttpServletResponse response) {

DataForm dataForm = (DataForm) form;

dataForm.setParam("00001");

HashMap paramSingleMap = new HashMap();

paramSingleMap.put("p1","00001");

paramSingleMap.put("p2","00002");

paramSingleMap.put("p3","00003");

dataForm.setParamSingleMap(paramSingleMap);

HashMap paramMultiMap = new HashMap();

paramMultiMap.put("p",new String[]{"00001","00002","00003"});

dataForm.setParamMultiMap(paramMultiMap);

HashMap paramSMMap = new HashMap();

paramSMMap.put("p1","00001");

paramSMMap.put("p2","00002");

paramSMMap.put("p",new String[]{"00001","00002","00003"});

dataForm.setParamSMMap(paramSMMap);

List persons = new ArrayList();

Person person1 = new Person();

person1.setId("00001");

person1.setName("赵辰");

Person person2 = new Person();

person2.setId("00002");

person2.setName("李为芳");

Person person3 = new Person();

person3.setId("00003");

person3.setName("王微");

persons.add(person1);

persons.add(person2);

persons.add(person3);

dataForm.setPersons(persons);

return mapping.findForward("success");

}

单参单值

多参单值

单参多值

混合

下面的代码示例了html:link标签的indexed属性和indexId属性的用法,这两个属性只有html:link标签嵌套在logic:iterate标签中时才可用。

person

html:rewrite标签和html:link标签类似只是不生成锚点(),而是简单的输出字符串。

html:errors

html:errors标签和html:messages标签的功能相似,所以我们放到一起来介绍。

html:errors标签将由name属性指定的ActionMessages、ActionErrors、String和String[]直接输出到页面中。

html:messages标签将用由name属性(注意message属性值对它的影响)指定的ActionMessages、ActionErrors、String和String[]创建一个新的属性和scripting变量,使用id属性值作为名称。

html:errors标签和html:messages标签的property属性是用来为errors和messages分类的。我们可以给这两个标签指定property属性,以便只显示某一类的错误或消息。

在资源文件增加了如下的内容:

# -- standard errors --

errors.header=

errors.prefix=

errors.suffix=

errors.footer=

error=error with none value .

error1=error1 with one value is {0} .

error2=error2 with two values are {0} , {1} .

error3=error3 with three values are {0} , {1} , {2} .

error4=error4 with four values are {0} , {1} , {2} ,{3} .

下面的代码示例了actionErrors的构造:

public ActionErrors validate(ActionMapping mapping, HttpServletRequest request) {

ActionErrors actionErrors = new ActionErrors();

actionErrors.add("property1",

new ActionMessage("error"));

actionErrors.add("property2",

new ActionMessage("error1","value0"));

actionErrors.add("property2",

new ActionMessage("error2","value0","value1"));

actionErrors.add("property3",

new ActionMessage("error3","value0","value1","value2"));

actionErrors.add("property3",

new ActionMessage("error4","value0","value1","value2","value3"));

actionErrors.add("property4",

new ActionMessage("error1",new Object[]{"value0"}));

actionErrors.add("property4",

new ActionMessage("error2",new Object[]{"value0","value1"}));

actionErrors.add("property4",

new ActionMessage("error3",new Object[]{"value0","value1",

"value2"}));

actionErrors.add("property5",

new ActionMessage("error4",new Object[]{"value0","value1",

"value2","value3"}));

actionErrors.add("notBundle",

new ActionMessage("not a bundle key",false));

return actionErrors;

}

errors标签代码示例:

messages标签代码示例:

html:javascript

html:javascript标签生成用于校验的javascript脚本代码。

下面的代码片段示例了html:javascript标签的基本用法,其中formName属性的值是在validation.xml文件的中定义的form的名称。有一点值得注意的是在确定时要使用合适的language属性值。

html:xhtml

html:xhtml标签在页面中一出现就是告诉该页的所有其它的Struts html标签以XHTML1.0兼容的形式输出。这和将html:html标签的xhtml属性值指定为true有些类似。如果上述情况都没有出现,Struts html标签将以html4.01兼容的形式输出。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值