<body>
<div class="container">
<div>
<h1>Spring Boot Web JSP Example</h1>
<h2>Name: ${book.name}</h2>
<h2>Author: ${book.author}</h2>
<h2>ISBN: ${book.isbn}</h2>
</div>
</div>
<form:form method="POST" action="/get" modelAttribute="newBook">
<div class="form-group">
<label for="authorInput">Author</label>
<form:input path="author" cssClass="form-control" id="authorInput"></form:input>
</div>
<div class="form-group">
<label for="dateInput">Date</label>
<form:input path="date" cssClass="form-control" id="dateInput"></form:input>
</div>
<button type="submit" class="btn btn-primary">Get Book</button>
</form:form>
<a href="../add.jsp"><button type="submit" class="btn btn-primary">Add Book</button></a>
<a href="../update.jsp"><button type="submit" class="btn btn-primary">Update Book</button></a>
</body>
下面是controller类:
@Controller公共类MainController{
@GetMapping(value = "/")
public String welcome(Map<String, Object> model) {
model.put("newBook", new Book());
model.put("updateBook", new Book());
model.put("addBook",new Book());
return "home";
}
@PostMapping(value = "/get")
public String change(@RequestParam("author") String author, Model model,
@ModelAttribute("newBook")Book book) {
System.out.println(author);
Book b = BookDao.getBook(book.getAuthor(), book.getDate());
if(b == null){
return "home";
}
model.addAttribute("book", b);
model.addAttribute("newBook", new Book());
return "home";
}
@RequestMapping(value = "/add")
public String addBook(@RequestParam("author") String author, @RequestParam("isbn") int isbn, Model model,
@ModelAttribute("addBook") Book book){
System.out.println("Author: "+author + " ISBN: "+isbn);
model.addAttribute("addBook", new Book());
Book b= new Book(book.getName(), author,isbn, book.getDate());
model.addAttribute("add", book);
boolean result = BookDao.addBook(b);
if(result)
return "home";
else
return "error";
}
@RequestMapping( value = "/update")
public String updateBook(@RequestParam("author") String author, @RequestParam("isbn") int isbn, Model model,
@ModelAttribute("updateBook") Book book){
System.out.println("Author: "+author + " ISBN: "+isbn);
Book b= new Book(book.getName(), author,isbn, book.getDate());
model.addAttribute("updateBook", new Book());
model.addAttribute("update",b);
BookDao.updateBook(isbn, b);
return "home";
}
}
<body>
<h1>Add a Book</h1>
<form:form method="POST" action="/add" modelAttribute="addBook">
<div class="form-group">
<label for="nameInput">Name</label>
<form:input path="name" cssClass="form-control" id="nameInput"></form:input>
</div>
<div class="form-group">
<label for="authorInput">Author</label>
<form:input path="author" cssClass="form-control" id="authorInput"></form:input>
</div>
<div class="form-group">
<label for="isbnInput">ISBN</label>
<form:input path="isbn" cssClass="form-control" id="isbnInput"></form:input>
</div>
<div class="form-group">
<label for="dateInput">Date</label>
<form:input path="date" cssClass="form-control" id="dateInput"></form:input>
</div>
<button type="submit" class="btn btn-primary">Add</button>
</form:form>
</body>
<body>
<form:form method="POST" action="/update" modelAttribute="third">
<div class="form-group">
<label for="authorInput">ISBN</label>
<form:input path="isbn" cssClass="form-control" id="authorInput"></form:input>
</div>
<div class="form-group">
<label for="nameInput">Name</label>
<form:input path="name" cssClass="form-control" id="nameInput"></form:input>
</div>
<div class="form-group">
<label for="authorInput">Author</label>
<form:input path="author" cssClass="form-control" id="authorInput"></form:input>
</div>
<div class="form-group">
<label for="dateInput">Date</label>
<form:input path="date" cssClass="form-control" id="dateInput"></form:input>
</div>
<button type="submit" class="btn btn-primary">Update Book</button>
</form:form>
</body>
既然我找到了答案,我就把它贴出来,以防万一被别人卡住了。为了访问另一个JSP页面上的表单,我们不能只是直接重定向到MVC设计中的页面。为此,我们需要为每个JSP表单@PostMapping注释创建一个@GetMapping注释方法,然后首先重定向到@GetMapping方法,@GetMapping将重定向到JSP页面。应该这样做:
控制器类:
@Controller公共类MainController{
@GetMapping(value = "/")
public String welcome(Map<String, Object> model) {
model.put("newBook", new Book());
return "home";
}
@PostMapping(value = "/get")
public String change(@RequestParam("author") String author, Model model,
@ModelAttribute("newBook")Book book) {
System.out.println(author);
Book b = BookDao.getBook(book.getAuthor(), book.getDate());
if(b == null){
return "home";
}
model.addAttribute("book", b);
model.addAttribute("newBook", new Book());
return "home";
}
@GetMapping("/add")
public String show(Model model) {
model.addAttribute("addBook", new Book());
return "add";
}
@PostMapping(value = "/add")
public String addBook(@RequestParam("author") String author, @RequestParam("isbn") int isbn, Model model,
@ModelAttribute("addBook") Book book){
System.out.println("Author: "+author + " ISBN: "+isbn);
model.addAttribute("addBook", new Book());
Book b= new Book(book.getName(), author,isbn, book.getDate());
model.addAttribute("add", book);
boolean result = BookDao.addBook(b);
if(result)
return "home";
else
return "error";
}
@GetMapping("/update")
public String showUpdate(Model model) {
model.addAttribute("updateBook", new Book());
return "update";
}
@PostMapping( value = "/update")
public String updateBook(@RequestParam("author") String author, @RequestParam("isbn") int isbn, Model model,
@ModelAttribute("updateBook") Book book){
System.out.println("Author: "+author + " ISBN: "+isbn);
Book b= new Book(book.getName(), author,isbn, book.getDate());
model.addAttribute("updateBook", new Book());
model.addAttribute("update",b);
BookDao.updateBook(isbn, b);
return "home";
}
html prettyprint-override"><form:form method="POST" action="/get" modelAttribute="newBook">
<div class="form-group">
<label for="authorInput">Author</label>
<form:input path="author" cssClass="form-control" id="authorInput"></form:input>
</div>
<div class="form-group">
<label for="dateInput">Date</label>
<form:input path="date" cssClass="form-control" id="dateInput"></form:input>
</div>
<button type="submit" class="btn btn-primary">Get Book</button>
</form:form>
<a href ="/add"><button type="submit" class="btn btn-primary">Add Book</button></a>
<a href ="/update"><button type="submit" class="btn btn-primary">Update Book</button></a>
</body>
Evere:路径为[/EmployeeRegistrationForm]的上下文中servlet[dispatcher]的servlet.Service()引发异常[请求处理失败;嵌套异常为org.springframework.web.bind.annotation.support.handlerMethodInvocationException:未能调用处理程序方法[public java.u
类:DbUserController.cs txtUrl=性能页。fxml TextField c.txtUrl。setText(“测试”); 我指的代码不起作用。 它不会将“TEST TEST”写入TextBox。
问题内容: 我想将注册和登录表格都放在同一页面上。 它们都以: 所以,我需要这样的东西: 还有如何在第二个表格繁忙时防止执行第一个表格,反之亦然(用户单击两者) 我的想法是在启动流程时(例如,在流程结束时)创建一个简单变量,因此: 可能有更好的方法。 问题答案: 您可以通过两种不同的动作制作两种形式 还是这样做 然后,您的PHP文件将用作一个switch($ _ POST [‘action’])…
两个不同的帖子请求映射在同一个页面或URL上。我试图让一个按钮的帖子请求做一些事情,让另一个提交按钮做一些不同的事情 我尝试使用if(action.equals(“b1”))在控制器中命名表单和if语句 我尝试了两个单独的控制器来处理每个提交按钮 Java 语言(一种计算机语言,尤用于创建网站) 我正在设置一个页面,您可以在其中批准一个名为SEO或合作伙伴的对象的实例。然后,当您单击批准并继续时,
问题内容: 我公司购买了一种在页面上呈现ASP.NET控件的产品。该控件使用jQuery 1.2.3并将脚本标记添加到页面以引用它。如果控件以任何方式修改(包括修改以引用其他版本的jQuery),则控件的开发人员将不支持使用该控件。 我将要开始开发自己的控件,并希望使用jQuery 1.3的功能和速度改进。这两个控件都需要存在于同一页面上。 如何允许购买的控件使用jQuery 1.2.3和新的自定
我正在使用Spring形式。我只需要得到Staemap作为响应,但我得到的是整个jsp页面作为响应。