web入门--jsp/servlet/JSTL

来源:互联网 发布:netty 好书 知乎 编辑:程序博客网 时间:2024/06/04 19:38

这个例子不错,整理一下:本文主要描述servlet当中如何向台jsp页面传值,本例传值部分分为三个部分,1 传入普通字符串 2 传入普通List 3 传入带有多个Map的list,页面对传入的值通过jstl和el表达式来进行处理。

1. 开始页面jspservletjstl.jsp-----jsp页面负责显示

<%@ page contentType="text/html;charset=UTF-8" isErrorPage="true" %><html><head><title>jsp页面</title></head><body><FORM action="gojstl" method="post"><input type="text" name="username"><input type="submit"></FORM></body></html>

 2. web.xml配置-------web.xml文件中包括了:<context-param>用来配置容器(Tomcat)初始化参数。<servlet>配置servlet名称与类的关联,以及该servlet所处理的内容。listener配置容器对事件的响应,如org.springframework.web.util.IntrospectorCleanupListener

<!-- jsp与jstl测试  --><servlet>    <servlet-name>gojstl</servlet-name>    <servlet-class>second.Gojstl</servlet-class>//类的位置</servlet><servlet-mapping>    <servlet-name>gojstl</servlet-name>    <url-pattern>/gojstl</url-pattern>  //处理去往/gojstl路径的访问请求</servlet-mapping>

3. servlet类的处理---------servlet主要包括两个方法,doGet和doPost。容器根据表单的不同来选择使用哪个方法,get与post的请求就不说了。关于getParameter与getAttribute的区别见点击打开链接。关于forward与sendRedirect的区别见点击打开链接

package second;import java.io.IOException;import java.util.ArrayList;import java.util.HashMap;import java.util.List;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 Gojstl extends HttpServlet {    public void doGet(HttpServletRequest request, HttpServletResponse response)    throws ServletException, IOException {   doPost(request,response);  }  public void doPost(HttpServletRequest request, HttpServletResponse response)    throws ServletException, IOException {   request.setCharacterEncoding("UTF-8");   String username = request.getParameter("username");      request.setAttribute("username",username);//向session中写入String参数      Map map1 = new HashMap();   map1.put("username",username+1);   map1.put("idcard","111111111111111111");      Map map2 = new HashMap();   map2.put("username",username+2);   map2.put("idcard","2222222222222222222");      List list1 = new ArrayList();   list1.add(map1);   list1.add(map2);      List list2 = new ArrayList();   list2.add("map1");   list2.add("map2");      request.setAttribute("pagelist1",list1);   request.setAttribute("pagelist2",list2);//同样,写入list参数      this.getServletContext().getRequestDispatcher("/showresult.jsp")   .forward(request, response);//页面跳转   //response.sendRedirect("finish.jsp");   } }

4. 显示处理页面showresult.jsp----------JSTL是JSP的一个标签库,方便了JSP文件的编写。

<%@ page language="java" contentType="text/html; charset=UTF-8" %><%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %><html><head><title>jstl的jsp写法后台传值</title></head><body><c:if test="${username == 'shane'}">判断成功<br></c:if><c:forEach var="bl" items="${pagelist1}">  ${bl.username}     ${bl.idcard} <br>                                </c:forEach><c:forEach var="b2" items="${pagelist2}">  ${b2} <br>                                </c:forEach></body></html>