SpringMVC项目-在同一页面上输入表单并返回Java方法的结果

SpringMVC项目-在同一页面上输入表单并返回Java方法的结果,java,spring-mvc,Java,Spring Mvc,这是我的第一个MVC项目,很抱歉这个问题太基本了!但是,我有一个函数,它接收URL并以字符串的形式返回有关它的信息。在我的home.jsp页面上,我希望有一个表单,允许用户输入URL并在同一页面上返回信息。我该怎么做呢?我的项目模板附带了一个HomeController--我不知道我是否需要一个特殊的控制器 到目前为止,我已经: home.jsp <form:form method="post" action="getTumblrData" commandName="tumblrInfo"

这是我的第一个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>
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???
 }
公共字符串url读取器(字符串url){
字符串名;
...
返回博客名;
}
@请求映射(“/home”)
公共字符串getTumblrData(@ModelAttribute(“tumblrInfo”)tumblrInfo数据,映射映射,HttpServletRequest请求){
字符串blogName=UrlReader(data.getURL());
返回博客名???
}

显然,当我运行程序并单击submit时,什么也没有发生。有人能给我指出正确的方向吗?如果需要的话,我对html/javascript/jquery很熟悉。我现在对MVC框架库有些不知所措。

我更喜欢在这里使用
org.springframework.ui.Model
作为模型属性。因此,将属性添加到您的模型中,并返回您想要显示的JSP的名称。您还需要将POST参数添加到
@RequestMapping
注释中:

@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>

${blogName}

谢谢。但是,我实现了这些更改,当我按submit时仍然没有发生任何事情:/I在我的GetTumblData函数中添加了System.out.print,并且我在调试时没有看到它在控制台中打印出来,所以看起来该函数甚至没有被调用?是否显示任何错误?您是否有用
@Controller
注释注释的
HomeController
注释?否和是。我真的不知道如何调试这个。
<div id="returnedInfo">
   ${blogName}
</div>