(项目笔记)<include>与<jsp:param>配合 传值

xiaoxiao2021-02-28  66

在我的第一个博客上对jsp中的包含进行了说明,这里对其中的参数传值进行补充:

这是一个网站注册的例子 头部作为单独的一部分包含到主页面中,在注册完后 需要对头部的jsp传参。 代码如下: indexservlet.java中的函数:

private void doregist(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {   // TODO Auto-generated method stub   String registerusername=request.getParameter("registerusername");   registerusername = new String(registerusername.getBytes("ISO-8859-1"), "utf-8");   String registerpassword=request.getParameter("registerpassword");   String code=request.getParameter("code");   request.getRequestDispatcher("index.jsp").forward(request, response);   Userinfodao userinfodao=new Userinfodao();   userinfodao.inputuser(registerusername, registerpassword);   /*response.getWriter()   request.setAttribute("username", registerusername);  }

index.jsp中包含的代码

<div class="head">   <jsp:include page="Head.jsp">    <jsp:param value="${username}" name="username" />   </jsp:include>

</div>

这里说明下 参值可通过标签<jsp:param value="${username}" name="username" /> value为值, name为作为传值的变量。 Head.jsp

<c:set value="${param.username}" var="talib"></c:set>     //这里就是通过el表达式的到index.jsp中通过标签 <jsp:param >传过来的值    <c:set value="" var="tali"></c:set> //${param.username}  类似request.getparameter("username")得带标签<jsp:param >中变量username的值    <c:if test="${ talib ne tali}">     <script type="text/javascript">    document.getElementById("logina").style.display="none";    document.getElementById("registera").style.display="none";    document.getElementById("c-header-right-user-name").style.display="block";    document.getElementById("c-header-right-user-name").innerHTML=${talib };    </script> </c:if>

这里通过jstl形式表达出来,若想拷贝代码测试需要添加<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>

转载请注明原文地址: https://www.6miu.com/read-44826.html

最新回复(0)