Jsf 如何自动填写输入字段?

Jsf 如何自动填写输入字段?,jsf,Jsf,我有一个页面显示一篇文章,用户可以在其中插入评论。当我创建我的注释时,我调用我的managedBean方法CommentsController.create,一切都很完美。但是我必须在表单中指定post id。我想发送自动填写字段postId,因为我知道当前帖子的postId 我试图将输入类型填充到隐藏,但它不起作用。。。用户可以很好地更改客户端的值 我的表格: <h:form> <h:panelGrid columns="2">

我有一个页面显示一篇文章,用户可以在其中插入评论。当我创建我的注释时,我调用我的managedBean方法CommentsController.create,一切都很完美。但是我必须在表单中指定post id。我想发送自动填写字段postId,因为我知道当前帖子的postId

我试图将输入类型填充到隐藏,但它不起作用。。。用户可以很好地更改客户端的值

我的表格:

    <h:form>
        <h:panelGrid columns="2">
             ...
             //I want to fill this automatically...
            <h:selectOneMenu id="postId"
                             value="#{commentsController.selected.postId}" 
                             title="#{bundle.CreateCommentsTitle_postId}"
                             required="true"
                             requiredMessage="#{bundle.CreateCommentsRequiredMessage_postId}"
                             >
                <f:selectItems value="#{postsController.itemsAvailableSelectOne}"/>
            </h:selectOneMenu>
           ...
           <h:commandLink action="#{commentsController.create}" 
                          value="#{bundle.CreateCommentsSaveLink}"
                          />
    </h:form>

查看您的代码,postId应该会自动发送,因为您的值={commentsController.selected.postId},所以我不清楚您的实际问题是什么在这种情况下,用户必须自己选择postId。。。我想找到一种方法将帖子的id发送给我的控制器,或者通过另一种方法创建我的评论,就像这样?但是a h:InAuthidden也应该起作用。或者在一个参数中,在commandLink的动作中,这与inpurthidden一起工作,谢谢!但我在commandLink中使用了参数。但现在的问题是,当我在重定向到我的帖子视图->返回/帖子/查看后添加评论时,评论不会出现。。。我需要从netbean重新启动构建、清理并运行web应用程序。。。我从我目前的帖子中得到评论
public String create() {
    try {
        getFacade().create(current);
        JsfUtil.addSuccessMessage(ResourceBundle.getBundle("/Bundle").getString("CommentsCreated"));
        return "/posts/View.xhtml";
    } catch (Exception e) {
        JsfUtil.addErrorMessage(e, ResourceBundle.getBundle("/Bundle").getString("PersistenceErrorOccured"));
        return null;
    }
}