0

我有一个将外部 HTML 文件作为字符串读取的 servlet。我想在这个 html 中添加一个特定的按钮,然后引用我的一个 EJB。

因此我插入了一个:

String button=<h:commandButton value="Test" action="#{myBean.buttonMethod()}" />;

但是这个表达式不会在 servlet 的输出中通过以下方式计算:

out.println(thePage);

我确实只看到了按钮的代码,但它没有被解释。如何在 servlet 中动态插入对我的方法之一的引用?

4

1 回答 1

0

那不是 HTML 代码。那是JSF代码。JSF 代码应该通过在 Facelets 或 JSP 文件中声明标签并FacesServlet通过调用其 URL 来处理它来执行。绝对不是您想的那样理解 JSF 的网络浏览器。它只理解 HTML。

目前还不清楚具体的功能要求是什么,以及为什么你试图以这种方式混合 JSF 和 Servlet(我无法想象一个合理的现实世界原因),但假设你有一个简单的 HTML<form>提交给特定的 servlet,那么其中一种方法就是只编写普通的 HTML 代码(这也是 JSF 最终产生的)。

<input type="submit" name="buttonMethod" value="Test" />

在那个特定的 servlet 后面<form action>,做类似的事情

if (request.getParameter("buttonMethod") != null) {
    myBean.buttonMethod();
}
于 2012-09-28T11:13:30.213 回答