使用JavaScript和Primefaces未正确设置值

使用JavaScript和Primefaces未正确设置值,javascript,html,jsf,primefaces,Javascript,Html,Jsf,Primefaces,我正在向inputtext发送一个带有JS的变量。然后,当设置完值后,我单击p:commandButton调用使用该值的方法,但传递的值为空。。。虽然js将值发送到输入,我看到了。。。它认为它是空白的。如果我自己输入值,它会在方法中读取它。。。否则它不会。。。有什么想法吗? 这是我能得到的代码(有点长): XHTML: <!-- Modal --> <div class="modal fade" id="myModalId" tabindex="-1"

我正在向inputtext发送一个带有JS的变量。然后,当设置完值后,我单击p:commandButton调用使用该值的方法,但传递的值为空。。。虽然js将值发送到输入,我看到了。。。它认为它是空白的。如果我自己输入值,它会在方法中读取它。。。否则它不会。。。有什么想法吗? 这是我能得到的代码(有点长):

XHTML:

<!-- Modal -->
            <div class="modal fade" id="myModalId" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
              <div class="modal-dialog">
                <div class="modal-content">
                  <div class="modal-header bg-warning">
                    <button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">&times;</span><span class="sr-only">Close</span></button>
                    <h4 class="modal-title" id="myModalLabel"><b>#{msg.html32}</b></h4>
                  </div>
                  <div class="modal-body">
                   <center style="font-size: 14px">#{msg.html31}</center>
                  </div>
                  <div class="modal-footer">
                    <p:commandLink  action="#{bd.setId(dotcalpro.id)}"  styleClass="btn btn-md btn-info" value="#{msg.htmlborrar}" immediate="true" update="tbResult, growl" accesskey="r" onclick="modalIdhide()"/>
                    <p:spacer height="5"/>
                    <p:commandLink  styleClass="btn btn-md btn-info" value="#{msg.html48}" immediate="true" update="tbResult, growl" onclick="modalIdhide()"/>
                   </div>
                </div>
              </div>
            </div>  

        <p:column width="60">  
        <f:facet name="header">#{msg.dotcalprotbver}</f:facet> 
        <center>
        <button type="button" class="btn btn-warning btn-xs"
        onclick="detalle('#{tb.zid}'); modalIdshow();" >
        <i class="fa fa-search fa-2x"></i>
        </button>
        </center>
        </p:column>  
豆子:


我再说一遍,以防万一我已经尽可能多地恢复了代码。

我用sesion变量找到了某种解决方案。。。它起作用了,但不太确定它是否正确

刚刚在我的Bean类中添加了以下内容:

/**
 * Setea tipo de valor de la meta para busqueda
 * @param next
 */
public void setId(String id){
    HttpServletRequest rq = (HttpServletRequest) FacesContext.getCurrentInstance().getExternalContext().getRequest();
    String idval = rq.getParameter("formdotcalpro:id");
    FacesContext.getCurrentInstance().getExternalContext().getSessionMap().put("id", idval);
    //System.out.println("valor : " + idval);
}
如果你有时间,我仍然欢迎你对这个问题提出另一种观点

/**
 * Setea tipo de valor de la meta para busqueda
 * @param next
 */
public void setId(String id){
    FacesContext.getCurrentInstance().getExternalContext().getSessionMap().put("id", id);
    System.out.println("valor : " + id);
}
/**
 * Setea tipo de valor de la meta para busqueda
 * @param next
 */
public void setId(String id){
    HttpServletRequest rq = (HttpServletRequest) FacesContext.getCurrentInstance().getExternalContext().getRequest();
    String idval = rq.getParameter("formdotcalpro:id");
    FacesContext.getCurrentInstance().getExternalContext().getSessionMap().put("id", idval);
    //System.out.println("valor : " + idval);
}