<%
UserDetailsVO objUserDetailsVO = null;
ArrayList arlUserDetailsVO = (ArrayList)request.getAttribute("LSTUSERSDETAILS");
String nonBifFlag = "";
if(arlUserDetailsVO !=null){
Iterator it = arlUserDetailsVO.iterator();
String urlProfile="";
while(it.hasNext()){
objUserDetailsVO = (UserDetailsVO)it.next();
urlProfile = "UserProfile.htm?userID="+objUserDetailsVO.getLogin_Ident()+"&internalID=111"+objUserDetailsVO.getInternalId();
%>
答案 0 :(得分:3)
确保来自JSTL的jstl.jar
和standard.jar
位于您的类路径中(即您的网站项目的WEB-INF/lib
文件夹)。您需要的jsp页面顶部:
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
您的代码的字面翻译如下所示:
<c:set var="objUserDetailsVO" value="${null}"/>
<c:set var="arlUserDetailsVO" value="${requestScope['LSTUSERSDETAILS']}"/>
<c:set var="nonBifFlag" value=""/>
<c:if test="${not empty arlUserDetailsVO}">
<c:set var="urlProfile" value="${null}"/>
<c:forEach var="objUserDetailsVO" items="${arlUserDetailsVO}">
<c:url var="urlProfile" value="UserProfile.htm">
<c:param name="userID" value="${objUserDetailsVO.login_Ident}"/>
<c:param name="internalID" value="111${objUserDetailsVO.internalId}"/>
</c:url>
</c:forEach>
</c:if>
尽管如此,考虑到你真的不需要将页面/请求属性设置为null
,因为它们已经null
,你可能会将其削减到这个:
<c:set var="arlUserDetailsVO" value="${requestScope['LSTUSERSDETAILS']}"/>
<c:if test="${not empty arlUserDetailsVO}">
<c:forEach var="objUserDetailsVO" items="${arlUserDetailsVO}">
<c:url var="urlProfile" value="UserProfile.htm">
<c:param name="userID" value="${objUserDetailsVO.login_Ident}"/>
<c:param name="internalID" value="111${objUserDetailsVO.internalId}"/>
</c:url>
</c:forEach>
</c:if>
请注意,通过使用<c:url>
构建您的网址,您的网址参数现在将被正确编码,因为它们未在您的Java代码段中进行编码。
答案 1 :(得分:1)
尝试核心代码以及请求的绑定等,例如<c:forEach>
,<c:out>
,<c:if>
...
这是一个short tutorial (或者你可以读德语:a German tutorial/reference)。