我不知道我是否正确地这样做但基本上我正在使用spring并创建一个休息客户端服务器。 index.jsp显示一个表单,用户输入有关狗的信息,然后单击提交,它应该转到结果页面,它应显示结果(所以他们输入的内容)。问题是当用户填写表单并单击提交时,我收到“请求的资源不可用”的错误。任何人都可以告诉我哪里出错了,为什么welcome.jsp页面会产生错误?
Index.jsp(包含表单)
<body>
<form action="welcome.jsp" th:action="@{/dog}" th:object="${dog}" method="post">
<p>Id: <input type="text" th:field="*{id}" /></p>
<p>Name: <input type="text" th:field="*{name}" /></p>
<p>heartbeat: <input type="text" th:field="*{heartbeat}" /></p>
<p>temperature: <input type="text" th:field="*{temperature}" /></p>
<p>lat: <input type="text" th:field="*{lat}" /></p>
<p>long: <input type="text" th:field="*{lon}" /></p>
<p>weight: <input type="text" th:field="*{weight}" /></p>
<p><input type="submit" value="Submit" /> <input type="reset" value="Reset" /></p>
</form>
</body>
welcome.jsp(应显示用户输入的结果)
<body>
<h1>Result</h1>
<p th:text="'id: ' + ${dog.id}" />
<p th:text="'content: ' + ${dog.name}" />
<a href="index.jsp">Submit another message</a>
</body>
DogController - 获取帖子请求
@RestController
@RequestMapping("/dog")
public class DogController {
private static final String template = "Hello, %s!";
private final AtomicLong counter = new AtomicLong();
@RequestMapping(value="", method = RequestMethod.GET)
public CreateDog greeting() {
return new CreateDog(counter.incrementAndGet(),"dog", 40, 25, 120, 71.0486,114.0708);
}
@RequestMapping(value="", method = RequestMethod.POST)
public String createDog(@ModelAttribute CreateDog dog, Model model) {
model.addAttribute(dog);
return "result";
}
}
答案 0 :(得分:0)
答案 1 :(得分:0)
问题是你有没有使用Spring-mvc?我发现你使用@RequestMapping但没有配置该值,因为请求找不到目标,然后抛出请求的资源不可用。
@RequestMapping(value="welcome.jsp", method = RequestMethod.POST)
也许你可以这样试试。
但是在使用@Controller
时必须配置Spring-mvc.xml