Java 服务器面临链接在循环内不起作用

标签 java jsf facelets

我在facelets“numbers.xhtml”中有这个简单的代码:

<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
  xmlns:h="http://java.sun.com/jsf/html"
  xmlns:f="http://java.sun.com/jsf/core"
  xmlns:ui="http://java.sun.com/jsf/facelets"
  xmlns:c="http://java.sun.com/jsp/jstl/core">
  <body>
    <h1>Numbers page</h1>
  <table>
    <c:forEach var="number" items="#{numbers}">
    <tr>
        <td>
          <h:form>
          <h:commandLink action="#{numbers.showNumber}" value="#{number.number}" />
          </h:form>
        </td>
    </tr>
    </c:forEach>
  </table>
</body>
</html>

在“showNumber”方法中,我只返回字符串“number”,该字符串在 faces-config.xml 中映射到“number.xhtml”,但它始终打开“numbers.xhtml”页面。

我什至尝试使用“ui:repeat”标签,但结果相同。如果我将“h:commandLink”放在循环之外,它就可以工作。

您有简单的测试用例 here 。这是maven项目,你只需要执行“./run_jetty.sh”即可运行简单的jetty服务器。

最佳答案

刚看到您附加的 src,我认为您的 Numbers 类中需要一个 getter 方法:getShowNumber()。您可能需要将 public static String showNumber 重命名为 public static String getShowNumber

关于Java 服务器面临链接在循环内不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6648543/

相关文章:

java - JAXB xml 排序或序列或属性排序

java - 无法根据 RecyclerView 中的发件人对齐聊天消息

java - 榛子 Actor | IMap 上的操作是否是分布式的?

java - JSF 到 JQuery 组件集成

javascript - 使用 p :commandButton and p:dialog 时出现 Javascript 错误

java - 使用 FileReader 只显示文本文件的最后一行?

java - JSF 拦截并记录所有 ActionEvent

jsf - 如何使 commandButton 不完全刷新页面?如何使用 f :ajax?

jsf - 如何通过导航菜单ajax刷新动态包含内容? (JSF SPA)

jsf - f :setPropertyActionListener always setting null