2017-02-09 62 views
0

我在scriptlet中定義一個變量來從請求頭獲取值,然後我們使用該變量c:set設置爲在c:out中使用的變量。我沒有得到任何值c:設置變量,結果c:out給出結果爲''。<c:set var from scriptlet variable

請找到下面的代碼片段,並指導我如果我缺少任何東西。

代碼在JSP:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1" 
    pageEncoding="ISO-8859-1"%> 
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> 
<!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=ISO-8859-1"> 
<title>DM</title> 
<SCRIPT Language="JavaScript"> 
function submitform() 
{ 
    this.LoginForm.submit();  
} 
</SCRIPT> 
</head> 

<body onload="submitform()"> 


<% 
String userName= request.getHeader("IV-USER"); 
System.out.println("name "+userName); 
if (userName == null || userName.length()==0){ 
     response.setHeader("IV-USER",userName); 
     response.sendRedirect("ULM.jsp"); 
} 
%> 
<c:set var="uName" value="<%=userName%>"/> 
<p>Welcome1 ${uName}</p> 
<form name="LoginForm" action="/ICDDMContent/STGDM.html" method="post"> 
<input type="hidden" name="UserId" value='<c:out value="${uName}"/>'/> 
<!-- 
<input type="hidden" name="UserId" value="<%=userName%>" > 
--> 
<input type="hidden" name="Token" value="dummy"> 
<p>Welcome1 <c:out value="${uName}"/></p> 

</form> 

</body> 
</html> 
+0

我建議檢查'IV-USER'頭實際上不是空的 –

+0

順便說一句,你可以訪問標題el,只需使用$ {header ['IV-USER']} –

+0

謝謝你的輸入。爲了我們。 – Ravi

回答

0
String userName= request.getHeader("IV-USER"); 
System.out.println("name "+userName); 
if (userName == null || userName.length()==0){ 
     response.setHeader("IV-USER",userName); 
     response.sendRedirect("ULM.jsp"); 
} 

是多餘的代碼,如果用戶名爲空,你將只分配空值IV用戶報頭,如果「ULM.jsp」是一樣的頁面,因爲你已經附上了,這個重定向只是爲了設置變量 - 這是你的問題

+0

ULM.jsp是不同的頁面。 – Ravi

相關問題