0

这是我的第一个 MVC 项目,所以很抱歉这个问题太基础了!但是,我有一个函数,它接收一个 URL 并以字符串的形式返回有关它的信息。在我的 home.jsp 页面上,我想要一个允许用户输入 URL 并在同一页面上返回信息的表单。我该怎么做呢?我的项目模板附带了一个 HomeController——我不知道我是否需要一个特殊的控制器?

到目前为止,我有:

主页.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;
    }
}

家庭控制器.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 回答