java - 将用户的备注作为字符串传递给 java bean

标签 java javascript jsf

我需要接受用户单击按钮时的评论,并将其作为字符串传递给后面的托管 bean。 这就是我在jsp页面上的内容-

    <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>

这是 javascript 函数 -

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

}

我的 bean AddNewLeave.java 的函数中需要这个原因变量 -

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"> 可以获得相同的功能。 ,但在这种情况下,您必须在请求参数映射中找到备注字符串。

关于java - 将用户的备注作为字符串传递给 java bean,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17514767/

相关文章:

java - JDK7编译错误: Ambiguity reference

java - Intellij 无法解析测试目录中的 Junit

jsf - 仅当验证失败时,输入字段才保留以前的值

javascript - 数组数组中未定义的属性

java - 如何设置当用户输入文件夹 URL 时打开文件夹的默认页面?

java - 打开p :confirmDialog on clicking of p:commandLink

java - 如何在没有任何框架的情况下使用 Maven 的 webjars

java - 如何确定加载类的绝对路径(如果有)?

javascript - jQuery 进度条不工作

javascript - 在内容可编辑的div中使一些关键字不可编辑