结识EL

简单介绍下EL的常用形式,继续用程序说明:

package com.keith.el;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;

import com.keith.taglibs.Group;
import com.keith.taglibs.User;

public class ElAction extends Action {

	@Override
	public ActionForward execute(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response)
			throws Exception {
		// 字符串
		request.setAttribute("he", "hello EL ");

		// 结构
		Group group = new Group();
		group.setGroupName("KEITH的朋友");

		User user = new User();
		user.setName("keith");
		user.setAge(19);
		user.setGroup(group);
		request.setAttribute("user", user);

		// map
		Map mapValue = new HashMap();
		mapValue.put("key1", "value1");
		mapValue.put("key2", "value2");
		request.setAttribute("mapValue", mapValue);

		// 字符串数组
		String[] strArray = new String[] { "a", "b", "c" };
		request.setAttribute("strArray", strArray);

		// 对象数组
		User[] user1 = new User[10];
		for (int i = 0; i < 10; i++) {
			User u = new User();
			u.setName("U_" + i);
			user1[i] = u;
		}
		request.setAttribute("user1", user1);
		
		//list
		List userList = new ArrayList();
		for (int i = 0; i < 10; i++) {
			User u_list = new User();
			u_list.setName("u_list"+i);
			userList.add(u_list);
		}
		
                // 测试${empty }
		request.setAttribute("value2", "");
		request.setAttribute("value3", "abcd");
		request.setAttribute("value4", new ArrayList());

                request.setAttribute("userList", userList);
		return mapping.findForward("elTest");
	}

}

 用到了User类:

package com.keith.taglibs;

public class User {
	private String name;
	
	private int age;

	private Group group;
	
	public Group getGroup() {
		return group;
	}

	public void setGroup(Group group) {
		this.group = group;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public int getAge() {
		return age;
	}

	public void setAge(int age) {
		this.age = age;
	}
}

Group类:

package com.keith.taglibs;

public class Group {
	private String groupName;

	public String getGroupName() {
		return groupName;
	}

	public void setGroupName(String groupName) {
		this.groupName = groupName;
	}
	
}

 struts-config.xml:

<action-mappings>

		<action path="/elTest"
				type="com.keith.el.ElAction">
				
			<forward name="elTest" path="/elTest.jsp"></forward>
		</action>


<action-mappings>

 elTest.jsp页面:由于用到了logic标签所以引入下:

<%@ taglib prefix="logic" uri="http://struts.apache.org/tags-logic"%>

 elTest.jsp:

	<body>
		<h2>
			EL表达式TEST
		</h2>

		<h3>
			EL(输出字符串)
		</h3>
		${he }
		<hr>
		<h3>
			EL(输出结构)
		</h3>
		<table>
			<tr>
				<td>
					姓名
				</td>
				<td>
					年龄
				</td>
				<td>
					班级
				</td>
			</tr>
			<logic:empty name="user">
				<font color="red">user不存在</font>
			</logic:empty>
			<logic:notEmpty name="user">
				<tr>
					<td>
						${user.name }
					</td>
					<td>
						${user.age }
					</td>
					<td>
						${user.group.groupName }
					</td>
				</tr>
			</logic:notEmpty>
		</table>
		<hr>
		<h3>
			EL(输出MAP)
		</h3>
		mapValue.key1的值是:${mapValue.key1 }
		<br />
		mapValue.key2的值是:${mapValue.key2 }
		<br />
		<hr />
		<h3>
			EL(输出字符串数组)
		</h3>
		strArray[1]的值:${strArray[1] }
		<br />
		strArray[2]的值:${strArray[2] }
		<br />
		<hr />
		<h3>
			EL(输出对象数组)
		</h3>
		user1[1].name:${user1[1].name }
		<hr />
		<h3>
			EL(list输出数组)
		</h3>
		userList[1].name:${userList[1].name }
		<hr/>
		
		<h3>EL表达式计算</h3>
		1+9=${1+9 }<br/>
		1-9=${1-9 }<br/>
		1*9=${1*9 }<br/>
		1/9=${1/9 }<br/>
                
                 <h3>测试EL{empty}</h3>
		value1:${empty value1 }<br/>
		value2:${empty value2 }<br/>
		value3:${empty value3 }<br/>
		value4:${empty value4 }<br/>

	</body>

 很简单............

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值