您的位置:首页 > Web前端 > JavaScript

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

2017-08-31 16:23 495 查看
在我的第一个博客上对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"%>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  jsp