2017-02-09 90 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

相关问题