Java 将值从ftl页面传递到servlet控制器
我对servlet和FreeMarker(.ftl)模板一无所知,因此这里涉及到一些猜测。问题是我必须从我的servlet中接收的网页发送一个值 以下是我在这方面的努力 FTL代码:Java 将值从ftl页面传递到servlet控制器,java,spring,servlets,webpage,Java,Spring,Servlets,Webpage,我对servlet和FreeMarker(.ftl)模板一无所知,因此这里涉及到一些猜测。问题是我必须从我的servlet中接收的网页发送一个值 以下是我在这方面的努力 FTL代码: <form action="someAcction.spring" method="post"> <input type = "submit" value="Generate Values"> <input type = "text" placeholder = "So
<form action="someAcction.spring" method="post">
<input type = "submit" value="Generate Values">
<input type = "text" placeholder = "Some long value">
<input type = submit name="someValue" value=${someValue}>
</form>
@RequestMapping(value = "/someAction")
@ResponseBody
String generateSomeValues(@ModelAttribute("someValue") String someValueStr) {
Long someValue;
try{
someValue = Long.parseLong(someValueStr.trim());
} catch (NumberFormatException nfe) {
return "Invalid some value " + someValueStr;
//...... Some more code
}
请告诉我,这里出了什么问题。如果您使用AJAX调用此方法,那么应该使用@ResponseBody。在使用jstl标记绑定对象时使用@ModelAttribute。若您使用url appender传递值,则在控制器中使用@RequestParam或@PathVariable访问该值 试试这个:
<form action="someAcction.spring" method="post">
<input type = "submit" value="Generate Values" name="value1"/>
<input type = "text" placeholder = "Some long value" name="value2"/>
<input type = "submit" name="someValue" value=${someValue}/>
</form>
@RequestMapping(value = "/someAction")
String generateSomeValues(HttpServletRequest request,HttpServletResponse response){
Long someValue;
try{
someValue = Long.parseLong(request.getParamter("value1"));
System.out.println(someValue);
} catch (NumberFormatException nfe) {
return "Invalid some value " + someValueStr;
//...... Some more code
}
@请求映射(value=“/someAction”)
字符串generateSomeValues(HttpServletRequest请求、HttpServletResponse响应){
长值;
试一试{
someValue=Long.parseLong(request.getParameter(“value1”);
System.out.println(someValue);
}捕获(NumberFormatException nfe){
返回“无效的某些值”+someValueStr;
//……还有一些代码
}
输入“someValue”的类型是不正确的。我认为它应该是文本而不是提交。问题似乎是在最后一行中。但即使在我将提交更改为文本之后……情况也没有改善。它不起作用。尽管感谢您解释ResponseBy和ModelAttribute的用法。框架如何知道“value1”将具有各自的值。FTL不会使这些值变薄这里没有问题。是不是?请求对象包含所有页面数据。我们使用request.getParameter(“value1”);…通过执行上述代码时出现的错误来检索这些数据?