strtus1 html5,Struts1.x系列教程(5):HTML标签库

一、HTML标签库中的常用标签

1.

标签

标签对应于HTML标签。用于向服务端提交用户输入信息。标签和HTML标签在使用方法上基本相同,但它们的一个重要的区别是标签的action属性值所指的Struts动作在struts-config.xml中必须正确配置,否则标签会因为未找到Struts动作而抛出异常,从页使JSP页面无法正常运行,而HTML无论action属性的值所指的URL是否正确(或Struts动作是否在struts-config.xml中正确配置),都会正常显示。标签的基本用法如下:

2. 标签

标签是最常用的HTML标签,它对应于type属性值为“text”的HTML标签。每一个和HTML Tags对应的HTML标签都有一个property属性,标签也不例外。这个属性用于和ActionForm的子类对象实例绑定,也就是说,property属性的值必须和ActionForm子类中相应的属性拥有同样的名子。如果property属性的值在ActionForm子类中未找到相应的属性名,该HTML标签就会由于抛出异常而使JSP页面无法正常显示。标签的基本用法如下:

标签的其他属性(如size属性)和标签的相应属性使用方法完全一致。

3. 标签

标签对应于type属性值为“radio”的HTML标签。如果ActionForm子类的某个属性有多个可枚举的选择值(如性别为“男”、“女”),就可以使用来采集用户的输入信息。每一个可能的值对应一个标签,如性别选项对应两个标签,代码如下:

男女

其中两个标签中的property属性值必须都为“sex”,每个value表示选中当前选项后,提交给服务端的值,也就是通过ActionForm的子类实例对象的相应属性可以获得的值。

4. 标签

标签对应于type属性值为“checkbox”的HTML标签。标签的基本用法如下:

其中value属性表示当勾选这个复选框时提交给服务端的值。

5. 标签

标签实际上也对应于type属性值为“checkbox”的HTML标签。但和在映射到ActionForm子类实例对象的相应属性的映射方式不同。所有property属性值相同的标签被映射到同一个property所指的属性中,并且这个属性是一个数组类型。而标签只对应了一个值。标签的基本用法如下:

上网旅游足球围棋

其中value属性表示选中当前复选框的返回值。

6. 和标签和组合对应了HTML中的和组合。这两个标签的基本用法如下:

其中value属性表示在下拉列表框中选择某一项时向服务端提交的值。

7. 和标签

这两个HTML标签分别对应了type为“submit”和“reset”的HTML标签。它们的基本用法如下:

其中value属性表示在按钮上显示的信息。

8..其他的HTML标签

在HTML标签库中还有很多其他的标签。关于这些标签的详细信息读者可以参阅Struts的官方网站,URL如下:

http://struts.apache.org/1.2.9/userGuide/struts-html.html

二、HTML标签库演示实例

在本文给出了一个完整的例子来演示如何通过HTML标签来展现用户界面,以及如何从由HTML标签生成的界面中获取用户提交的信息。实现这个例子需要如下四步:【第1步】建立使用HTML标签的JSP页面在中建立一个htmlTags.jsp文件,并输入如下的内容:

HTML标签库演示姓名:女 旅游 足球 围棋   

现在htmlTags.jsp还运行不了,因为htmlTags动作并没有在struts-config.xml中配置。下面我们先在struts-config.xml中配置一下这个htmlTags动作和相应的ActionForm的子类。【第2步】配置ActionForm子类和htmlTags动作打开struts-config.xml,在中加入如下的标签:

然后在中加入如下的标签:

我们从上面两段配置代码可以看出,ActionForm的子类为HtmlTagsForm,动作类为HtmlTagsAction,下面我们就来建立这两个类。

【第3步】实现HtmlTagsForm类在本例中,HtmlTagsForm类只含有用于接收用户提交的信息的属性,除此之外,并未在这个类中做其他的事(如验证数据)。在"src" actionform目录中建立一个HtmlTagsForm.java文件,并输入如下的代码:

packageactionform;importorg.apache.struts.action.*;publicclassHtmlTagsFormextendsActionForm

{privateString name;privateString sex;privateBoolean student;privateString[] hobbies;privateString work;publicString getWork()

{returnwork;

}publicvoidsetWork(String work)

{this.work=work;

}publicString[] getHobbies()

{returnhobbies;

}publicvoidsetHobbies(String[] hobbies)

{this.hobbies=hobbies;

}publicString getName()

{returnname;

}publicString getSex()

{returnsex;

}publicvoidsetSex(String sex)

{this.sex=sex;

}publicvoidsetName(String name)

{this.name=name;

}publicBoolean getStudent()

{returnstudent;

}publicvoidsetStudent(Boolean student)

{this.student=student;

}

}

【第4步】建立HtmlTagsAction类

HtmlTagsAction类的主要功能是通过HtmlTagsForm类的实例对象读取用户提交的信息,并将它们输出的客户端浏览器。在"src"action目录中建立一个HtmlTagsAction.java文件,并输入如下的代码。

packageaction;importjavax.servlet.http.*;importorg.apache.struts.action.*;importjava.io.*;importactionform.HtmlTagsForm;publicclassHtmlTagsActionextendsAction

{publicActionForward execute(ActionMapping mapping, ActionForm form,

HttpServletRequest request, HttpServletResponse response)

{

HtmlTagsForm htForm=(HtmlTagsForm) form;try{

response.setCharacterEncoding("GB2312");

PrintWriter out=response.getWriter();

out.println("姓名:"+htForm.getName()+"

out.println("性别:"+(htForm.getSex().equals("1")?"男":"女")+"

out.println("学生:"+(htForm.getStudent()==null?"否":"是")+"

{

out.println("爱好:");for(String hobby: htForm.getHobbies())

out.println(hobby+"");

out.println("

}if(htForm.getWork()!=null)

out.println("职业:"+htForm.getWork());

}catch(Exception e)

{

}returnnull;

}

}

在出现用户界面后,输入如图1所示的信息。

28462598_1.jpg

图1

在点击“提交”按钮后,将显示如图2所示的页面。

28462598_2.jpg

图2

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值