只是简单的一些代码,不过我想根据大家举一反三的能力,知道这些之后其他的都不是问题了,因为JSTL本身就是为了简单方便才出现的。 首先建立一个servlet:
.. code:: java
package com.jstl;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class JstlELServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
//普通字符串
req.setAttribute("hello", "Hello World");
//结构
Group group = new Group();//这个Group类你自己建就好了,里面只有一个私有的name属性,然后你给他生成get和set方法
group.setName("组一");
User user = new User();//这个User类也自己建吧,包括name,age,Group三个属性,还有各自的set和get方法
user.setUsername("胡阳");
user.setAge(23);
user.setGroup(group);
req.setAttribute("user", user);
//map
Map map = new HashMap();
map.put("k1", "v1");
map.put("k2", "v2");
req.setAttribute("map", map);
//字符串数组
String[] strArray = new String[]{"a", "b", "c"};
req.setAttribute("str_array", strArray);
//对象数组
User[] users = new User[9];
for (int i = 0; i < users.length; i++) {
users[i] = new User();
users[i].setUsername("胡阳");
users[i].setAge(23);
}
req.setAttribute("users", users);
req.getRequestDispatcher("/jstl_el.jsp").forward(req, resp);
}
}
然后配置一下web.xml文件,这里我不清楚为啥自己手动写一个就会导致tomcat启动不了,拷贝一份就可以,求解。
.. code:: xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:javaee="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<servlet>
<servlet-name>JstlELServlet</servlet-name>
<servlet-class>com.jstl.JstlELServlet</servlet-class>
<load-on-startup>5</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>JstlELServlet</servlet-name>
<url-pattern>/servlet/JstlELServlet</url-pattern>
</servlet-mapping>
</web-app>
再建立两个jsp页面:index.jsp和jstl_el.jsp:
Index.jsp:
.. code:: html
<%@ page language="java" contentType="text/html; charset=GB18030"
pageEncoding="GB18030"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GB18030">
<title>Insert title here</title>
</head>
<body>
<a href="servlet/JstlELServlet">测试EL</a>
</body>
</html>
Jstl_el.jsp:(这个里面的内容你要好好看看)
.. code:: html
<%@ page language="java" contentType="text/html; charset=GB18030"
pageEncoding="GB18030"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GB18030">
<title>测试EL</title>
</head>
<body>
<h1>测试EL表达式</h1>
<hr>
<li>普通字符串</li>
hello(jsp脚本):<%=request.getAttribute("hello") %><br>
hello(el表达式,语法:$和{}):${hello}<br>
hello(el表达式,el的内置对象pageScope,requestScope,sessionScope,applicationScope)<br>
如果不指定范围,它的搜索顺序为pageScope~applicationScope):${requestScope.hello}
hello(el表达式,指定范围从session取得):${sessionScope.hello }
<p>
<li>结构</li>
姓名:${user.username }<br>
年龄:${user.age }<br>
所属组:${user.group.name }<br>
</p>
<li>map</li><br>
map.k1:${map.k1 }<br>
map.k2:${map.k2 }<br>
<li>字符串数组</li>
strArray[1]:${str_array[1] }<br>
<p>
<li>对象数组,采用[]下标</li><br>
users[1].username:${users[1].username }<br>
<p>
<li>list</li>
userList[1].username:${userList[1].username }<br>
<p>
<li>EL表达式对运算符的支持</li>
1+1=${1+1 }<br>
10/4=${10/4 }<br>
10 div 5=${10 div 5 }<br>
10 mod 3=${10 mod 3 }<br>
</body>
</html>
好了,启动一下index.jsp页面,点击链接,完了。 JSTL使用文档下载:http://ishare.iask.sina.com.cn/f/8077298.html?retcode=0
- from the5fire.com
----EOF-----
微信公众号:Python程序员杂谈
微信公众号:Python程序员杂谈