struts第十四天--ognl表达式,对象图导航语言

来源:互联网 发布:小米有淘宝店吗 编辑:程序博客网 时间:2024/06/06 20:35

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
 <package name="person" namespace="/person" extends="struts-default">
  <action name="list" class="com.isoftstone.study.PersonListAction">
      <result name="list">/WEB-INF/page/personlist.jsp</result>   
    </action> 
 </package> 
</struts>   

package com.isoftstone.study;

import java.util.ArrayList;
import java.util.List;

public class PersonListAction {
 private String name;
 private List<Book> books;
 public String getName() {
  return name;
 }

 public void setName(String name) {
  this.name = name;
 }
 
 public String execute(){
  books=new ArrayList<Book>();
  books.add(new Book(1,"javaweb",12));
  books.add(new Book(2,"java",22));
  books.add(new Book(3,"spring",44));
  name="小王";
  return "list";
 }

}

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib uri="/struts-tags" prefix="s" %>
<%
 request.setAttribute("user","isoftstone");
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>   
    <title>index.jsp</title>
 <meta http-equiv="pragma" content="no-cache">
 <meta http-equiv="cache-control" content="no-cache">
 <meta http-equiv="expires" content="0">   
  </head>
  <body>   
  <!-- s:iterator在迭代集合时有个特点:会把当前迭代的对象放在值栈栈定 -->
    <s:property value="#request.user"/>
   
    <s:set name="list" value="{'slf','sf','sfasd'}" />
   
     <s:iterator value="#list">
     <s:property/><br>
     </s:iterator>
   
   
     <s:set name="maps" value="#{'key1':'第一个','key2':'第二个','key3':'第三个'}"  />    
    <s:iterator value="#maps">
     <s:property value="key"/>=<s:property value="value"/><br>
     </s:iterator>
    
 <s:set name="list1" value="{'zhangming','xiaoi','liming'}" />
 <s:iterator value="#list1" id="n">
 <s:property value="n"/><br>
 </s:iterator>
 <s:set name="foobar" value="#{'foo1sdf':'bar1', 'foo2sd':'bar2'}" />
 <s:iterator value="#foobar" >
 <s:property value="key"/>=<s:property value="value"/><br>
 </s:iterator>
======================================================================================
 <s:if test="'foo' in {'foo','too'}" >
  在
 </s:if>
 <s:else>
  不在
 </s:else>
 <s:if test="'xxx' not in {'foo','too'}" >
  不在
 </s:if>
 <s:else>
  在
 </s:else>

  
  </body>
</html>

package com.isoftstone.study;

public class Book {
 private Integer bookid;
 private String name;
 private Integer price;
 public Integer getBookid() {
  return bookid;
 }
 public void setBookid(Integer bookid) {
  this.bookid = bookid;
 }
 public String getName() {
  return name;
 }
 public void setName(String name) {
  this.name = name;
 }
 public Integer getPrice() {
  return price;
 }
 public void setPrice(Integer price) {
  this.price = price;
 }
 public Book(Integer bookid, String name, Integer price) {
  this.bookid = bookid;
  this.name = name;
  this.price = price;
 }
 

}

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib uri="/struts-tags" prefix="s" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>  
    <title>结果</title>   
 <meta http-equiv="pragma" content="no-cache">
 <meta http-equiv="cache-control" content="no-cache">
 <meta http-equiv="expires" content="0"> 
  </head> 
  <body>
    <s:property value="name"/><br/>
    ${name }
    ===========================================================<br/>
    
    <s:iterator value="books.{?#this.price>13}">
     <s:property value="name"/>,价格:<s:property value="price"/><br>
     </s:iterator> 
  </body>
</html>

原创粉丝点击