struts2从零开始(六)
知识点:struts2页面标签和ognl
1、struts2页面标签
要使用struts2的标签必须在jsp页面导入<%@ taglib prefix="s" uri="/struts-tags"%>
1.1、select标签(代码如下)
注意:#表示取值栈中的值,而attr表示不需要指定作用域,用的比较多,但是用request也是可以的。
struts2首先访问jsp页面的时候,不会像struts1一样调用get方法来初始化页面的标签,而是直接到值栈中去拿值(容错能力比struts1强)
1.2、checkboxlist标签(代码如下)
注意:当在页面上选中select标签的值或者checkbox的值,假如要在后台拿选择的情况,则必须定义相应的变量,命名必须和页面相应标签的名字相同,当是checkbox时,则action中定义拿值的变量必须是数组。假如页面有多个标签则后台必须有相对应的拿值属性,否则会报空指针错误(代码如下)
其中test方法是定义在后台实体类Users中的。执行这段代码能在页面中输出三个sss
2、投影一个集合
? 的用途是给条件
% 取资源文件中的内容(或者计算字符串的值类似于js中的eval,可用于做国际化)
以上拿的是国际化资源文件中键为uname的值,假如在action要拿资源文件中的值可以继承actionSupport,然后可以在execute方法中调用this.getText("uname");
@ 表示调用静态方法
package cn.zhuojingxinxi.biz;public class UserService {public static Boolean login(String uname){if(uname!=null&&uname.length()>6){return true;} return false;}}
源码下载请点这里: