有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java使用JSF获取HTML值

我有一个javascript,可以编辑jsf页面中的隐藏字段:

<h:inputHidden id="data"  value="" />

当我点击“提交”时,我想得到这个HTML字段的新值,这个值是由javascript修改的。我已经调查过了

FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap().get("data");

但这似乎只有在它作为<f:param/>传入时才起作用。有没有办法通过bean调用获得值


共 (1) 个答案

  1. # 1 楼答案

    它是生成的HTML输入字段的名称,以通常的HTTP/HTML方式作为请求参数发送。记住:JSF在webserver上运行,生成HTML/CSS/JS,webserver通过HTTP将其发送给webbrowser,webbrowser检索HTML/CSS/JS并显示/应用/执行它。在浏览器中右键单击页面,选择查看源代码,找到生成的HTML输入元素,您将看到类似的内容:

    <input type="hidden" id="formid:data" name="formid:data" />
    

    其中formid是由JSF<h:form>生成的父<form>的ID。根据HTML规范,输入值在请求参数中以名称=值对的形式发送

    因此,对于上述情况,您应该使用

    data = requestParameterMap.get("formid:data");
    

    但是,您也可以将其绑定到bean属性

    <h:inputHidden value="#{bean.data}" />
    

    这样,它就可以在bean的action方法中作为data属性使用,而不需要以低级方式处理请求参数