0

この形式のJSPファイルがあります(2つの選択タグ)-

<%@ page import="mypackage.*" %>

<all the main tags>...

<form> 
<select> options... </select> 
<select> options... </select> 
<input type="submit" value="submit" /> 
</form>

<textarea></textarea>

「mypackage」内にjavaメソッドがあり、<select>送信をクリックした後にタグから引数を取得する必要があります。このメソッドは、に出力したい文字列を返します<textarea>。これについてはどうすればよいですか?

どうもありがとう。

4

3 に答える 3

4

HTTP POSTサーブレットとしてまたはサーブレットに送信し、またはメソッドHTTP GETを介して受信します。からアクセスできます。doGet()doPost()HttpServletRequest.getParameter()

void doPost(HttpServletRequest request, HttpServletResponse response)
于 2012-11-29T21:40:27.990 に答える
1

request.getParameterValues("select")

これgetParameterValuesは、このメソッドの引数に文字列を返すリクエストインターフェイスのメソッドで、コントローラーの名前を渡します

テキストボックスから値を取得するときは、メソッドを使用しますrequest.getParameter("name");

于 2013-03-18T17:24:57.420 に答える
1

mypackage.* クラスを JSP にインポートしているようです。実際、JSP 内に Java コードを含めて、クラスを直接呼び出すことができます。何かのようなもの:

<%
    MyClass c = new MyClass();
    String result = c.doSomething(request.getParameter("select"));
    out.println("<textarea>" + result + "</textarea>");
%>

十分なはずです(ただし、良くありません。結果はエスケープする必要があります)。

ただし、このコードは保守性が高くなく、改善の余地があります (kaustav datta の回答は、標準的な方法の 1 つです)。

Spring フレームワークの MVC 部分を使用して、よりエレガントな方法で行うことができます: http://static.springsource.org/spring/docs/3.1.x/spring-framework-reference/html/mvc.html

最初は設定が必要で、理解するのに時間がかかりますが、理解するととてもいいです。

あなたの場合、次の形式のコントローラーで十分です。

@Controller
public class SelectController {

   private final class MyClass c = new MyClass();

   @RequestMapping(value="/select", method = RequestMethod.POST)
   public String doSelect(@RequestParam("selection") final String selection, final ModelMap model) {
       final String result = c.doSomething(selection);
       modelMap.addAttribute("result", result);

       return "yourJsp";
   }
} 
于 2012-11-29T22:20:45.553 に答える