テキストボックス、テキストエリア、コンボボックスがあるjspページがあります。リクエストからフィルターの値を取得しているときに、それがtextrareaかどうかを知りたいです。それでそれは可能ですか?フィルタでもリクエストの値を変更できますか?
質問する
176 次
2 に答える
2
フィルタはサーブレットです。通常のサーブレットと同様に、リクエストからパラメータの値を取得および変更できます。
public class CheckFilter implements Filter {
public void init(FilterConfig filterConfig) {
}
public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain)
throws IOException, ServletException {
HttpServletRequest request = (HttpServletRequest) req;
String contentTextarea = request.getParameter("myTextarea");
String modifyContentTextarea = changeContent(contentTextarea);
chain.doFilter(request, response);
}
private String changeContent(String content) {
//to do smth with value of content
return modifyContent;
}
public void destroy() {
}
}
そして、JSPでテキストエリアを次のようにマークします。
<textarea name="myTextarea"></textarea>
于 2012-05-21T06:39:00.670 に答える
0
リクエストにはパラメータ名と値のキー/値ペアのみが含まれているため、textarea / radio/チェックボックスを使用してパラメータを設定したかどうかを判断することはできません。パラメータの生成に使用されたフォームフィールドを知っておく必要がありますあなたはすでにサーバー上で期待している、私はこれの必要性を見ていません。何らかの理由でこれが本当に必要な場合は、パラメータの設定に使用されたフォームフィールドに関する情報を含む別のパラメータをリクエストに追加する必要がありますが、これは非常にすぐに厄介になり始めます。
2番目の部分では、はい、サーブレットまたはフィルター内のリクエスト内の任意の値を変更できます。
于 2012-05-21T06:46:47.477 に答える