Struts 官方文档——使用Struts Tags
2016-06-14 12:03
555 查看
Reference:《ST2.NO.0003 struts2.0 官网文档学习笔记之三 - Struts tags》作者:lvpinStruts2官方文档的第二课是个MVC雏形的Hello World:首先. 用户的请求会由体系中的控制器来控制,分为前端Filter控制器和后端 Action 控制器. 前端的Filter控制器将拦截所有的用户请求,并通过查找 struts.xml 中的请求配置,将请求转发给相应的Action.其次,在Controller Action中执行了它的 execute()方法,且通过execute()方法的返回值明确了最终要迁移的视图JSP,最后.在JSP中,使用在index.jsp中使用了Struts2的URL标签指向了HelloAction:
<p><a href="<s:url action='hello'/>">Hello World</a></p>为了在视图页面中使用Struts2 标签,你的应用程序必须包含标签库指令. 典型的,标签库指令是
<%@ taglib prefix="s" uri="/struts-tags" %>URL带参数的标签
<s:url action="hello" var="helloLink">
<s:param name="userName">Bruce Phillips</s:param> <!--参数标签-->
</s:url>
<p><a href="${helloLink}">Hello Bruce Phillips</a></p>上半部分代码声明了一个变量(var="helloLink"),下半部分代码使用了这个变量。实际上这个变量就是一个带参数userName(值为Bruce Phillips)的action。这种方式比<p><a href="<s:url action='hello'/>">Hello World</a></p> 要好看的多,而且可以复用。在经过编译后的HTML代码应该是这个样子的:
<a href="/struts2_003/hello.action?userName=Bruce+Phillips">Hello Bruce Phillips</a>Struts2 Form TagStruts2 textfield 标签提供了一个输入文本框并且 submit 标签创建了一个 submit 按钮, 当页面被请求返回到浏览器时能看到
<p>Get your own personal hello by filling out and submitting this form.</p>
<s:form action="hello">
<s:textfield name="userName" label="Your name" />
<s:submit value="Submit" />
</s:form>
编译后的HTML代码
<form id="hello" name="hello" action="/Using_Tags_Struts2_Mvn/hello.action;jsessionid=3471d76027b5342cab44f297b567" method="post">
<table class="wwFormTable">
<tr>
<td class="tdLabel"><label for="hello_userName" class="label">Your name:</label></td>
<td><input type="text" name="userName" value="" id="hello_userName"/></td>
</tr>
<tr>
<td colspan="2"><div align="right"><input type="submit" id="hello_0" value="Submit"/>
</div></td>
</tr>
</table>
</form>要注意的是 Struts2 在form中创建了一个表格用来定位 form的元素,其实我觉得这样很丑!据说以后会学习到使用布局(table,css)。这个要重点研究一下!Struts2 textfield 标签创建了一个HTML输入标签,它的名称值和Struts2 textfield中的name值是一样的. Struts2也基于textfield标签创建了一个 HTML Label 标签.//补充说明: label 的作用是当你点击这个Label,即Your name时, 文档框将获得焦点. 还记得姓名单选按钮吗? 如果要选中单选按钮必须点击那个小圆圈, 但是有了 label 通过设置 label 标签的for属性时,单击一个label 就表示选中了 for="id" ,那个id所指向的元素. 这样就不用戴着眼镜去选那么小的圆圈了.. Struts2 ,自动帮我们设置好了这个步骤.Struts Property Tag在Hello Wolrd 教程中已经谈论过了关于 messageStore.message 的值,它告诉Struts2第一次请求的是Action类的getMessageStore()方法. 这个方法将会返回一个 MessageStore的对象. ".message"的部分告诉Struts2要去调用MesageStore对象的getMessage()方法. getMessage()方法会返回一个字符串,这个字符串最终将会包含在返回的HTML页面中显示。
<s:property value="messageStore.message" />Struts2 property 标签一个非常有用的特性是它能够自动的转换普通的数据类型(int,double,boolean)成一个String类型的等价物。//注意:尽管 helloCount是一个static类型的数据, 但是它的 get/set 方法不是static类型的. 如果在Struts2中通过调用 getHelloCount()的方法来得到 helloCount 的值, 那么 getHelloCount()方法不能是 static 类型的.
相关文章推荐
- JAVA Web开发过程中遇见的各种Exception 总结(待续)
- 认识JMS(JAVA Message Service)
- MapXtreme For Java 4.8.2 超菜入门
- Eclipse+Mapxtreme java开发WebGIS之HelloWorld
- eclipse for JEE 安装 JBPM 插件Link方法教程
- JDK安装与环境变量配置
- JavaCenter Home 2.0 安装说明
- java的声音处理方法
- 引用 Struts中ActionServlet源码深入分析执行过程
- java如何用for循环遍历list集合?
- 引用 Eclipse 常用快捷键
- Java.util.Date类型格式化输出和字符串转Date类型
- Java 的乱码解决方法 统一编码 这里使用UTF-8编码
- JAVA环境变量设置
- 数据库连接池Java实现小结
- 连接池JAVA实现
- Java中的异常处理
- Java抽象类和接口和继承之间关系
- Java基础习题(附答案)
- java设计模式之原型模式