将用户的评论作为字符串传递给java bean

问题描述:

我需要接受用户对按钮单击的评论,并将其作为字符串传递给后面的托管bean。 这是我对JSP页面级将用户的评论作为字符串传递给java bean

<h:column> 
      <button onclick="myFunction();"> 
       <h:commandLink value="Forward" action="#{add_leave.Forward()}"> 
       <f:param name="emp_id2" value="#{leave_requests.emp_id}" /> 
       <f:param name="request_id2" value="#{leave_requests.request_id}" /> 

       </h:commandLink> 
      </button> 
     </h:column> 

这是功能 -

function myFunction() 
{ 
    var x; 
    var reason=prompt("Please enter your reason:","Reason"); 
    x=reason; 

} 

我在这里需要为此变量在我的豆AddNewLeave.java功能的JavaScript -

public void Forward() 
{ 
    ... 
    ... 
    String reasonStr; 
} 

我该怎么做?另外,还有没有其他更简单的方法可以让我从其他用户那里获得用户的评论?我是网络应用程序编程的新手,并试图在需要时学习。

你可以考虑使用<h:inputHidden>将值发送到你的bean自动的形式提交:

<h:form id="form"> 
    <h:inputHidden id="remark" value="#{bean.remark}" /> 
    ... 
</h:form> 

这样,一旦你更新通过JavaScript隐藏输入的值并随后提交表单,你最终会使用JSF为您预设的bean属性。

的JS代码片断可能是:

document.getElementById('form:remark').value = remark; 

当然,相同的功能可以通过使用普通的<input type="hidden">获得,但在这种情况下,你必须找到在请求参数映射此言字符串。

+0

我试过这个,但我没有得到任何值在bean中的变量.. – user1727119