0

我正在尝试在 JSF 中做一些简单的事情,但由于某种原因我无法让它工作。我想要的是使用 GET 参数到达的页面中的表单发布信息,并在我提交表单时保留此 GET 参数。

<f:metadata>
    <f:viewParam name="someId" value="#{someController.something}" converter="#{someConverter}" />
</f:metadata>

这是我选择绑定 GET 参数的方式,这在我执行 GET 请求时工作正常。

在同一页面上,我有一个

<h:form>
    <!-- (... various input ...) -->
    <h:commandLink action="#{someController.create}"  value="Create" />
</h:form>

当我提交它时,即使数据是正确的,我也永远不会让我的“某物”不为空。

用例很简单,我有一个一对多的关系,我想使用 id 作为 GET 参数访问“一个”,并在页面上列出“很多”,在列表下方,表单允许我添加一个新的“许多”列表中的元素。

我想让它工作(当然)并尽可能地清洁,

有人能告诉我实现这一目标的最佳方法是什么吗?

谢谢!

4

1 回答 1

1

要么制作SomeControllerbean @ViewScoped,只要你与同一个视图交互,bean 就可以存活,

@ManagedBean
@ViewScoped
public class SomeController {
    // ...
}

<f:param>UICommand组件中使用以传递 GET 参数

<h:commandLink>
    <f:param name="someId" value="#{param.someId}" />
</h:commandLink>
于 2012-06-16T13:37:05.757 回答