2012-07-31 2 views
0

안녕하세요이<c:forEach> 및 <h : commandLink>가 함께 작동하지 않습니까?

<%@ page language="java" contentType="text/html; charset=ISO-8859-1" 
    pageEncoding="ISO-8859-1"%> 
<%@ taglib prefix="f" uri="http://java.sun.com/jsf/core"%> 
<%@ taglib prefix="h" uri="http://java.sun.com/jsf/html"%> 
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> 

<!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>Compact Output</title> 
</head> 
<body> 
    <f:view> 
    <h:form> 
     <c:forEach items="${bean.itemlist}" var="item"> 
     <h:panelGrid columns="1" id="panel1"> 
     <h2><c:out value="${item.displayName}" /></h2> 
      <img src="<c:out value="${item.thumbnailURI}"/>" height="600" width="800" />  
      <h:commandLink action="#{bean.action1}" value="Details"> 
      <f:param name="selecteddisplayName" value="#{item.displayName}" /> 
      </h:commandLink> 
     </h:panelGrid> 
     </c:forEach> 
    </h:form> 
</f:view> 
</body> 
</html> 

같은 JSP 페이지 내가 태그 안에

 <h:commandLink action="#{bean.action1}" value="Details"> 
      <f:param name="selecteddisplayName" value="#{item.displayName}" /> 
      </h:commandLink> 

을 넣어 가지고 있지만, 링크를 클릭하면 #은 {bean.action1}라고 얻었으나, 매개 변수 항목 .displayName은 컨트롤러에 전달되지 않습니다. $ {item.displayName}로 변경하려고 시도했지만 "value"가 런타임 표현식을 지원하지 않습니다.

내 JSP 페이지에 문제가 있습니까?

내 컨트롤러에서 private String selecteddisplayName과 getter/setters를 정의했습니다.

함께 사용할 수 없습니까?

답변

0

보다 속성에 값을 설정하려는 경우 내가 그것을 작동하지 않았다 시도 <f:setPropertyActionListener value="" target=""/> 대신

+0

<f:param name="selecteddisplayName" value="#{item.displayName}" />의 시도. 빈에 을 지정하면 값은 null이되고 빈에 가 있으면 값은 ""입니다. 별다른 차이는 없습니다 ... – flyasfish

+0

$ {} 및 # {}의 혼합 사용 문제입니다. # {item.displayName} 표현식이 평가 될 때 값이 아직 없기 때문에 생성 된 html로이를 증명할 수 있습니다. 값은 html로 ""볼 수 있습니다. Details flyasfish

+0

그러나 $ {item.displayName} (으)로 변경하면 Eclipse에서 컴파일 오류가 발생하며 "값"은 런타임 표현식을 지원하지 않습니다. 서버에서 실행할 때 오류가 발생했습니다. 태그 파일의 TLD 또는 attribute 지시문에 따르면 특성 값이 어떤 식도 허용하지 않습니다. 이 문제를 해결하는 방법? – flyasfish

관련 문제