JSP参数传递兼EL表达式

 1.浏览器?方式传递参数

/**

浏览器地址栏输入?方式传递参数

?test=123

*/

可以用${param.test}方式输出

 2.页面内部设置参数setAttribute

/**

JSP页面中输入

<% request.setAttribute("test2", "1234");%>

传递参数

*/

可以在页面代码中输入以下方式输出:

${requestScope.test2}

<%=request.getAttribute("test2") %>

 3.servlet设置request参数的访问:

 

import java.io.IOException;



import javax.servlet.RequestDispatcher;

import javax.servlet.ServletContext;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;



public class TestRequest extends HttpServlet{                

    void  TestRequest(){

    }

    public void doGet(HttpServletRequest request, HttpServletResponse response) 

            throws ServletException, IOException {

        String test2=new String("aaaaa");

        request.setAttribute("test2", test2);

        

         RequestDispatcher dispatch = request.getRequestDispatcher("/index.jsp");    /*设置跳转页面*/

         dispatch.forward(request, response);                                        /*转发request数据到目标页*/

        }

    public void doPost(HttpServletRequest request, HttpServletResponse response)

            throws ServletException, IOException { 

            doGet(request, response);

        }

}
servlet代码
/*JSP代码*/

<body>

    This is my JSP page. <br>

     ${param.test2}

     <%=request.getParameter("test2") %>

     ${requestScope.test2}

     <%=request.getAttribute("test2") %>

  </body>

/**

访问网址

http://localhost:8080/Test/TestRequest?test2=3333

后运行结果

*/

This is my JSP page. 

3333 123456 123456

 

也就是说

${param.和<%=request.访问url传递的参数

${requestScope.和<%=request.访问的是servlet传递的参数

 

 KEY:

关键 ${requestScope.*},是jsp内置对象,和request.getAttribute相似,都是取得现有的后台的数据

 

参考:关于EL表达式中requestScope和param区别

你可能感兴趣的:(el表达式)