0

これは私の最初の MVC プロジェクトなので、この質問はとても基本的で申し訳ありません! しかし、URL を受け取り、それに関する情報を文字列の形式で返す関数があります。私の home.jsp ページには、ユーザーが URL を入力して同じページに情報を返すことができるフォームが必要です。これを行うにはどうすればよいですか?プロジェクト テンプレートに付属の HomeController があります。特別なコントローラーが必要かどうかわかりません。

これまでのところ、私は持っています:

home.jsp

<form:form method="post" action="getTumblrData" commandName="tumblrInfo">
    <input name="url" type="text"/> 
    <input type="submit" value="send"/>
</form:form>
<div id="returnedInfo">
<!-- return data should go here -->
</div>

tumblrInfo.java

public class tumblrInfo {
    private String blogname;
    public String getBlogName() {
        return blogname;
    }
    public void setName(String name) {
        this.blogname = name;
    }
}

HomeController.java

public String UrlReader(String url) {
   String blogName;
   ...
   return blogName;
}

@RequestMapping("/home")
public String getTumblrData(@ModelAttribute("tumblrInfo") tumblrInfo data, Map<String, Object> map, HttpServletRequest request) {
 String blogName = UrlReader(data.getURL());
 return blogName???
 }

明らかに、プログラムを実行して送信をクリックしても何も起こりません。誰かが私を正しい方向に向けることができますか? 必要に応じて、html/javascript/jquery に慣れています。私は現在、MVC フレームワーク ライブラリに少し圧倒されています。

4

1 に答える 1

0

org.springframework.ui.Modelここではモデル属性に使用することを好みます。したがって、モデルに属性を追加し、表示する JSP の名前を返します。@RequestMappingまた、注釈に POST 引数を追加する必要があります。

@RequestMapping(value = "/home", method = RequestMethod.POST)
public String getTumblrData(@ModelAttribute("tumblrInfo") tumblrInfo data, Model model, ...) {
   String blogName = UrlReader(data.getURL());
   model.addAttribute("blogName", blogName);
   return "my-jsp-page";
}

そしてJSPで:

<div id="returnedInfo">
   ${blogName}
</div>
于 2012-10-11T22:22:26.727 に答える