OGNL(object-graph navigation label)
分类:表单标签,非表单标签,逻辑控制标签,数据访问标签
表单标签
index.jsp
<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
</head>
<body>
<s:form method="post" action="loginAction">
<s:textfield label="username" name="user.username"/>
<s:password label="password" name="user.password"/>
<s:checkboxlist list="{'book','ball','tea'}" label="interest" name="interest"/>
<s:checkboxlist list="#{'1':'book','2':'ball','3':'tea'}" label="interest" name="interest1"/>
<s:radio list="{'book','ball','tea'}" label="interest" name="interest3"/>
<s:radio list="#{'1':'book','2':'ball','3':'tea'}" label="interest" name="interest4"/>
<s:select multiple="true" list="#{'1':'book','2':'ball','3':'tea'}" label="interest" name="interest6"/>
<s:textarea name="hello" label="content" rows="50" cols="20"/>
<s:doubleselect doubleList="" list="" doubleName=""></s:doubleselect>
<s:submit value="submit"/>
</s:form>
</body>
</html>
逻辑控制标签
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<%@ page import="bean.Em" %>
<%
request.setCharacterEncoding("utf-8");
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
</head>
<body>
<!--struts2 中有一个默认的valuestack 所有的属性首先默认保存在其中 -->
<!--默认设置属性request和page范围内,可通过scope指定 -->
<%-- <s:set name="age" value=100/> --%>
<s:set name="age" value="60" scope="session"/>
<s:set name="booklist" value="{'hello','wang'}"/>;
<s:select label="书籍" list="#booklist"/>
<s:set name="bookmap" value="#{'1':'book','2':'sports','3':'music'} "/>
<s:select label="selectmap" list="#bookmap" listkey="key" listValue="value"/>
<!--获取属性,默认为request范围 -->
<%-- <s:property value="age"/> --%>
<s:property value="#session.age"/>
<s:property value="#booklist"/>
<s:property value="#booklist[0]"/>
<s:property value="#bookmap.keys"/>
<s:property value="#bookmap.values"/>
<s:set name="score" value="50"/>
<s:if test="#score>100">
good
</s:if>
<s:elseif test="#score>60">
nice
</s:elseif>
<s:else>
bad
</s:else>
<s:iterator value="#booklist" id="bookname">
<s:property vlaue="bookname"/>
</s:iterator>
<s:iterator value="#bookmap">
<s:property value="key"/>
<s:property value="value"/>
</s:iterator>
<!-- 模拟从action中传递过来一个集合 集合中是对象 -->
<%List<Em> list=new ArrayList<Em>();
list.add(new Em(1,"hello"));
list.add(new Em(2,"world"));
list.add(new Em(3,"hehe"));
request.setAttribute("list", list);
%>
<s:iterator value="#request.list" var="em"
begin="1" end="2" step="2"
>
<s:property value="#em.id"/>
<s:property value="#em.name"/>
</s:iterator>
<s:iterator value="#request.list" var="em"
status="st">
<s:if test="#st.index%2==0">
good
</s:if>
</s:iterator>
</body>
</html>