0

こんにちは、私はこのようなjspページを持っています

<%@ 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>

置いた

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

タグ内ですが、リンクをクリックすると #{bean.action1} が呼び出されましたが、パラメーター item.displayName はコントローラーに渡されません。${item.displayName} に変更しようとしたところ、コンパイル エラー "value" does not support runtime expressions が発生しました。

私のjspページの何が問題になっていますか?

私のコントローラーでは、プライベート String selecteddisplayName と getter/setter を定義しました。

多分一緒に働くことはできませんか?

4

1 に答える 1

0

プロパティに値を設定したい場合

<f:setPropertyActionListener value="" target=""/> 代わりに 試し てください<f:param name="selecteddisplayName" value="#{item.displayName}" />

于 2012-07-31T08:36:34.407 に答える