0

このようなjsfページに入力があります

<html:inputText id="ResponseOK" value="#{bean.ResponseOK}" binding="#{bean.ResponseOKInput}" /> 

コマンド ボタンをクリックしたときに (request.getParameter ("ResponseOK") によって) サーブレットで値を取得したい

<html:commandButton value="Valider" action="#{bean.callServlet}"/>

関数を呼び出す

public void callServlet()
    {
         String url = "http://localhost:8080/TestOne/Timers";  //servlet
            FacesContext context = FacesContext.getCurrentInstance();  
            try {  

               context.getExternalContext().redirect(url);  

            }catch (Exception e) {  
               e.printStackTrace();  
            }  
            finally{  
               context.responseComplete();  
            }  
    }

残念ながら、私のサーブレットでは、変数 Ok は null のみを返します

protected void doGet(HttpServletRequest request,
            HttpServletResponse response) throws ServletException, IOException {

        String Ok = request.getParameter("ResponseOK");// return null
        System.out.println(timerOk);
        }

どうもありがとうございます

4

1 に答える 1

1

リクエストからプロパティを取得できるようにするには、入力に name 属性が必要です。

<html:inputText id="ResponseOK" value="#{bean.ResponseOK}" binding="#{bean.ResponseOKInput}"  name="ResponseOK"/>

アップデート:

私は JSF フレームワークにあまり詳しくありませんが、あなたの問題はアクション ボタンだと思います。

このボタンは送信ボタンではないため、入力の値はリクエストに送信されません。

GET リクエストを呼び出すときは、URL 自体にパラメーターを渡す必要があるため、URL は次のようにする必要があります。

http://localhost:8080/TestOne/Timers?ResponseOK=value

そのため、ResponseOK 入力の値をcallServletメソッドに転送する必要があります。

それが役立つことを願っています。

于 2012-07-24T11:04:20.697 に答える