2014-04-07 168 views
0

我有这样的JSTL变量在我的JSP:呼叫JSTL的变量javascript函数

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>  
<jsp:useBean id="RECHERCHE_SCENARIO_BEAN" 
     class="recherche.RechercheScenarioBean" 
     scope="session" /> 

    <c:set scope="page" var="totoBean" 
     value="${ RECHERCHE_SCENARIO_BEAN.totoBean }" /> 

我怎么能说totoBean在javascript函数?

+1

你不这样做,JavaScript是客户端,豆是服务器端,它只是在你的JSP的文本输出。您需要使用ajax从javascript访问服务器,或者传统地提交表单。 – NimChimpsky

回答

0

通过“h:inputHidden”标记呈现隐藏字段,通过JavaScript分配新值。

JSF ...

<script type="text/javascript"> 
    function setHiddenValue(new_value){ 

    document.getElementById('myForm:hidden2').value = new_value; 

    } 
</script> 
<h:form id="myForm">    
    <h:inputHidden id="hidden2" value="#{user.hidden2}" /> 
    <h:commandButton value="submit" action="..." onclick="setHiddenValue('this is hidden2');" /> 
</h:form> 

而我管理的bean

@ManagedBean(name="user") 
@SessionScoped 
public class UserBean 
{ 
    public String hidden2; 

    public void setHidden2(String hidden2) { 
     this.hidden2 = hidden2; 
    } 
}