0

ボタンのクリック時にユーザーからのコメントを受け入れ、背後のマネージド 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;
}

どうすればいいのですか?また、他の場所で使用するユーザーからのコメントを取得するために使用できる他の簡単な方法はありますか? 私は Web アプリケーション プログラミングの初心者で、必要に応じて物事を学ぼうとしています。

4

1 に答える 1

1

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

もちろん、同じ機能を plain を使用して取得することもできます<input type="hidden">が、その場合、リクエスト パラメーター マップでコメント文字列を見つける必要があります。

于 2013-07-07T20:30:23.920 に答える