पर 2 पैरामीटर भेजना मेरे पास 2 पैरामीटर के साथ एक स्प्रिंग 3 एमवीसी फॉर्म है जो मैं अपने नियंत्रक विधि को भेजने की कोशिश कर रहा हूं, और मुझे 404 त्रुटि मिल रही है। इस समस्या पर मोड़ यह है कि फ़ॉर्म में 2 सबमिट बटन हैं, और क्लिक बटन सबमिट किया गया है जो पैरामीटर में से किसी एक के मान को निर्देशित करता है। मेरा फॉर्म यहाँ है।स्प्रिंग 3 - 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";
}
और यह MockMVC के साथ परीक्षण करना कैसे संभव है? –
यह MockMVC के साथ परीक्षण नहीं किया गया था। यह टॉमकैट में एप्लिकेशन का उपयोग करके परीक्षण किया गया था क्योंकि उपयोगकर्ता सामान्य रूप से इसका उपयोग करेगा। –