我有一个带有2个参数的Spring 3
MVC表单,我试图将其发送到控制器方法,但出现404错误。这个问题的转折点在于该表单具有2个提交按钮,并且单击的提交按钮决定了参数之一的值。这是我的表格。
<form:form action="/approve/${bulletin.id}" method="post">
<table>
<tr>
<td colspan="2"><b>From:</b> <c:out value="${bulletin.name}" /></td>
</tr>
<tr>
<td colspan="2"><b>Subject:</b> <c:out
value="${bulletin.subject}" /></td>
</tr>
<tr>
<td colspan="2"><b>Date:</b> <c:out value="${bulletin.date}" />
<br></td>
</tr>
<tr>
<td colspan="2"><t:notePrint note="${bulletin.note}" /> <input
type="hidden" name="id" value="${bulletin.id}" /></td>
</tr>
<tr>
<td><input type="submit" name="approve" value="Approve" /></td>
<td><input type="submit" name="deny" value="Deny" /></td>
</tr>
</table>
<br />
</form:form>
这是我的控制器表格。
@RequestMapping(value = "/approve/{id}", method = RequestMethod.POST)
public String approveBulletin(@RequestParam int id,
@RequestParam(required = false, value = "approve") String approve,
@RequestParam(required = false, value = "deny") String deny, Model model) {
try {
if (approve.equalsIgnoreCase("approve")) {
bulletinDAO.approveBulletin(id);
model.addAttribute("approval",
"Your bulletin has been approved.");
}
if (deny.equalsIgnoreCase("deny")) {
bulletinDAO.denyBulletin(id);
model.addAttribute("approval", "Your bulletin has been denied.");
}
List<Bulletin> bulletins = bulletinDAO.getApprovedBulletins();
model.addAttribute("bulletins", bulletins);
} catch (Exception e) {
System.out.println(e.getMessage());
return "FailurePage";
}
return "ApproveBulletin";
}
我已经解决了自己的问题。我发布我的代码是为了让其他遇到相同问题的线程受益。这是我的表格。
<form:form action="approve" method="post">
<table>
<tr>
<td colspan="2"><b>From:</b> <c:out value="${bulletin.name}" /></td>
</tr>
<tr>
<td colspan="2"><b>Subject:</b> <c:out
value="${bulletin.subject}" /></td>
</tr>
<tr>
<td colspan="2"><b>Date:</b> <c:out value="${bulletin.date}" />
<br></td>
</tr>
<tr>
<td colspan="2"><t:notePrint note="${bulletin.note}" /> <input
type="hidden" name="id" value="${bulletin.id}" /></td>
</tr>
<tr>
<td><input type="submit" name="approve" value="Approve" /></td>
<td><input type="submit" name="deny" value="Deny" /></td>
</tr>
</table>
<br />
</form:form>
这是我的控制器方法。
@RequestMapping(value = "/approve", method = RequestMethod.POST, params = { "approve" })
public String approve(@RequestParam int id, @RequestParam String approve, Model model) {
try {
bulletinDAO.approveBulletin(id);
model.addAttribute("approval", "Your bulletin has been approved.");
List<Bulletin> bulletins = bulletinDAO.getApprovedBulletins();
model.addAttribute("bulletins", bulletins);
} catch (Exception e) {
System.out.println(e.getMessage());
return "FailurePage";
}
return "ApproveBulletin";
}
@RequestMapping(value = "/approve", method = RequestMethod.POST, params = { "deny" })
public String deny(@RequestParam int id, @RequestParam String deny, Model model) {
try {
bulletinDAO.denyBulletin(id);
model.addAttribute("approval", "Your bulletin has been denied.");
List<Bulletin> bulletins = bulletinDAO.getApprovedBulletins();
model.addAttribute("bulletins", bulletins);
} catch (Exception e) {
System.out.println(e.getMessage());
return "FailurePage";
}
return "ApproveBulletin";
}
问题内容: 我想从具有2个按钮的表单中将请求从一页发送到另一页: 如何改善此代码,甚至可以将其合并为一个函数? 问题答案: 鉴于处理程序之间唯一的逻辑差异是单击的按钮的值,您可以使用关键字引用引发事件的元素并从中获取事件。试试这个:
问题内容: 这是我的方案: 我必须调用一个方法。假设参数为:Parameter1,Parameter2,..,..,Parameter N,但是要发送给该方法的参数在每种情况下都可能会更改。 情况1: 仅发送参数 1 情况2: 发送参数的组合 情况3: 发送所有参数 用Java实现此目标的最佳方法是什么? 问题答案: 解决方案取决于问题的答案-所有参数是否都将是同一类型,如果是,则每个参数将被视为
有什么帮助吗??
问题内容: 我正在尝试在同一控制器中管理2个动作,一切正常!唯一的是doRender方法。我正在尝试对两个操作使用相同的渲染方法,如下所示: 但是显然这是行不通的。服务器日志显示的内容如下: 有什么帮助吗? 问题答案: 唯一的方法是定义多个方法。
我想发一个带有改装2的帖子。url有一些参数: url如下所示 www.website.com/server/directory/location。type?arg1=value1&arg2=value2 我被要求使用POST请求。值(value1和value2)在运行时是动态的。我使用HttpClient用Xamarin开始了这个项目,现在我正在用Java原生语言重写它。在C#中,我所要做的就是
问题内容: 我有HATEOAS(HAL) REST服务,并设法通过下面的代码与之交谈(使用怪异的转换引擎),但是当我尝试合并转换器(和)时,应用程序将始终选择第一个转换器,而不是当然,这会导致错误。 如何避免重复的改造,只是在小字体细节上有所不同? 同样,问题是 当您尝试像这样缩短上述时间时: 您会在该行得到一个例外: 线程“主”中的异常java.lang.ClassCastException:c
问题内容: 我正在使用书签功能,其中用户单击jQueryui按钮并将某些信息发送到数据库。但是我没有使用表格,因为没有供用户输入的信息。 我正在从会话数据中提取用户ID,并正在发送URI段(URL的一部分) 使用codeigniter / php。 我试图找出要放在ajax / post函数的数据部分中的内容,因为没有表单/没有输入数据,以及如何处理控制器的“提交”部分。 控制者 模型 的HTML
我有两个单选按钮,可以选择男性或女性。我的要求是,如果我点击单选按钮,我必须向服务器发送数字,如果我点击单选按钮,我必须向服务器发送数字(在服务器端,他们用这个数字进行检查。也就是说,如果他们收到1,那么它是男性,如果他们收到“2”,那么它是女性)。所以这里我必须检查我是否得到,如果响应是。我该怎么做?