首先需要引用 %@taglib prefix="s" uri="/struts-tags"%
1.<s:if></s:if> 判断标签 后面可跟 <s:else>
2.<s:iterator> </s:iterator> 迭代标签
3.<s:include></s:include> 引入标签 可以把一个JSP页面或者servlet引入一个页面中
4.<s:property></s:property> 输出标签
5.<s:set></s:set> 标签赋予变量一个特定范围内的值
6.<s:form></s:form> 表单标签
7.<s:testarea></s:textarea> 文本域标签
8.<s:select></s:select> 下拉标签
9.<s:url></s:url> 声明一个url的路径
最常用的是:
判断<s:if></s:if>
循环<s:iterator></s:terator>
输出<s:property></s:property>
Struts2中result中的type类型
1.dispatcher:它是默认的,用来转向页面,通常处理JSP
2.redirect:将用户重定向到一个已配置好的URL
3.redirectAction:将用户重定向到一个已定义好的action
4.chain:将action和另外一个action链接起来
5.freemarker:呈现Freemarker模板
6.httpheader:返回一个已配置好的HTTP头信息响应
7.stream:向浏览器发送InputSream对象对下载的内容和图片非常有用
8.velocity:呈现Velocity模板
9.xslt :该XML可以通过XSL模板进行转换
10.plaintext:显示原始文件内容,例如文件源代码
Struts 2中如何解决中文乱码问题?
在配置文件中定义如下常量值配置:
<constant name=”struts.i18n.encoding” value=”UTF-8”/>
注意:只能解决post请求的乱码问题,针对get请求的乱码和jsp中的处理方式一致(需编写相应的代码处理)
Struts 2配置文件中的package元素与Java中的包有什么异同之处?
答:相同点:都是基于方便管理的理念,Struts2配置文件中的package为了更好的管理Action配置项,例如区分不
同模块中定义的同名的Action配置,Java中的包用于更好的管理类,例如不同包中定义的同名的类
不同点:
1) package是用于管理Action,而Java中的包用于管理class类;
package可以被继承,减少XML中的冗余配置,而Java中的包没有继承的概念
struts2中的默认包struts-default有什么作用?
1)struts-default包是由struts内置的,它定义了struts2内部的众多拦截器和Result类型,而Struts2很多核心的功能
都是通过这些内置的拦截器实现,如:从请求中把请求参数封装到action、文件上传和数据验证等等都是通过拦截
器实现的。当包继承了struts-default包才能使用struts2为我们提供的这些功能
2)struts-default包是在struts-default.xml中定义,struts-default.xml也是Struts2默认配置文件。 Struts2每次都会自动
加载 struts-default.xml文件
3)通常每个包都应该继承struts-default包