我的页面上有这样的表格
<form action="ToolbarAction.do" method="POST">
<div id="toolbar"
class="ui-widget-header ui-corner-all ui-widget-content">
<input style="font-family: times new roman;" type="button" id="item0"
value="<fmt:message key='main'/>" /> <input
style="font-family: times new roman;" type="button" id="item1"
value="<fmt:message key='prices'/>" />
<c:choose>
<c:when test="${enterAttr == false || enterAttr == null }">
<input style="font-family: times new roman;" type="submit"
id="item2" value="<fmt:message key='book'/>" />
</c:when>
<c:when test="${enterAttr == true }">
<input style="font-family: times new roman;" type="submit"
id="item2" value="<fmt:message key='check'/>" />
</c:when>
</c:choose>
<input style="font-family: times new roman;" type="submit" id="item3"
value="<fmt:message key='contacts'/>" /> <input
style="font-family: times new roman;" type="submit" id="item4"
value="<fmt:message key='service'/>" />
</div>
</form>
如何检查按下了什么按钮并导致了ToolbarAction?这是ToolbarAction类中的exec
方法。我应该从HttpServletRequest获取一些参数?
public String exec(HttpServletRequest req, HttpServletResponse resp) {
// TODO Auto-generated method stub
return null;
}
答案 0 :(得分:1)
解决方案是为所有name
元素提供相同的<input>
属性。
<input name="submit" style="font-family: times new roman;" type="submit"
id="item2" value="<fmt:message key='check'/>" />
由于用户只能为每个请求按下一个提交按钮,因此您将拥有一个名为submit
的请求参数。您可以像
String value = request.getParameter("submit");
其中request
是HttpServletRequest
对象。 getParameter
的返回值是value
元素的<input>
属性。你可以做一堆检查,看看哪个被按下了。