相信大家都遇到过在浏览器中表单提交的时候如果使用post和get是完全没有问题的,但是你使用delete和put方式提交,能够成功吗?
目前html5和一些新的浏览器支持所有的http方法,但是不是全部浏览器都支持,这个时候你如果还是想通过浏览器进行提交该怎么办了?
哈哈,不绕圈子了
html表单中,将put和delet请求伪装成post请求就可以了,关键是创建一个带有隐藏域并且method为post的表单。例如下面:
<form method="post">
<input type="hidden" name="_method" value=“delete"/>
.......
</form>
下面还有一种更简单的方式:
当使用spring 的表单绑定库时,<sf:form>会让其变得更加简单。你可以讲method属性设置为期望的HTTP方法,<sf:form>将为你隐藏域:
<sf:form method="delete" modelAttribute="spitter">
</sf:form>
当然你的服务器端还是应该做相应的配置。
web.xml
<filter>
<filter-name>httpMethodFilter</filter-name>
<filter-class>org.springframework.web.filter.HiddenHttpMethodFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>httpMethodFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
这里我们将HiddenHttpMethodFilter匹配到/*模式,这样所有URL的请求在到达DispatcherServlet前都会经过HiddenHttpMethodFilter。
注:通过非浏览器发送的请求以及RestTemplate发送的请求,没有必要包装成post,因此他们都支持所有的HTTP请求方式。
相关推荐
- **分页参数处理**:可以使用URL重写或者隐藏表单域来避免在URL中显示分页参数,提升安全性。 - **缓存机制**:对于不经常变动的数据,可以考虑使用缓存来减少数据库访问。 - **动态调整每页显示数量**:允许用户...
- `<%@ include file="...">` 指令用于静态包含其他文件内容,文件在编译时被合并到JSP页面中。 3. **JSP动作标签** - `<jsp:include page="...">` 动作标签用于动态包含文件,只有在JSP运行时才会将文件加入,...
考生需要掌握异常处理的基本原则,比如异常分为检查型异常(checked exception)和非检查型异常(unchecked exception),以及在方法声明中需要明确指出可能会抛出的检查型异常。 对于J2EE组件的理解,题目考到了...
3. 权限控制:在Thymeleaf模板中,可以使用Thymeleaf的条件表达式结合Shiro的权限注解,动态展示或隐藏页面元素。例如,`th:if="${#shiro.hasPermission('admin')}"`可以检查用户是否具有"admin"权限。 4. 会话管理...
- `<s:hidden>`: 创建一个隐藏域,用于存储不显示的值。 - `<s:head/>`: 在HTML头标签中使用,表示头文件的结束。 I. 国际化与页面引用: - `<s:i18n name="">`: 加载资源包到值堆栈,支持国际化。 - `...
JavaScript中的EL(Expression Language)表达式,是一种在JavaServer Pages (JSP)中常见的用于访问和操作服务器端数据的语言。它允许开发者以简洁的方式获取和处理服务器上的变量和对象。在JavaScript中使用EL表达式...
- **解释**:在Windows中,一个文件可以同时拥有多个属性,如只读、隐藏、存档等。一个文件既可以设置为只读,也可以同时设置为系统属性。 ### 21. ASP.NET页面生命周期 - **知识点**:ASP.NET页面的生命周期。 - ...
例如,在使用JSP作为视图层的情况下,Servlet负责接收用户的请求,调用相应的业务逻辑(如访问数据库获取数据),然后将结果传递给JSP页面进行渲染。 #### SQL查询练习题解析 1. **查询选修了‘计算机原理’的学生...
- **隐藏域(hidden)使用约定**:在表单中使用隐藏域传递数据,但应谨慎使用,防止数据泄露。 - **按钮(button)使用约定**:区分提交按钮和重置按钮,使用不同的事件处理函数。 **四、JavaScript编程规范** - *...
- `<ww:hidden>`:创建一个隐藏域。 - `<ww:doubleselect>`:创建一组相关联的下拉列表。 - `<ww:combobox>`:创建一个下拉输入框,支持自定义输入。 - `<ww:component>`:创建自定义的组件,使用Velocity模板...
20. `<s:hidden>`:创建一个隐藏域,用于存储表单数据但不在页面上显示。 21. `<s:i18n name="">`:加载国际化资源包,使应用支持多语言。 22. `<s:include value="">`:包含其他JSP或Servlet页面,实现页面的组合...
2. `<s:action>`:执行一个视图中的Action,允许在页面上直接触发Action方法。 3. `<s:actionerror>`:显示Action中的错误信息,如果有错误,会自动渲染出来。 4. `<s:actionmessage>`:显示Action中的消息,例如...
而在 Struts2 中,所有的标签都被统一管理,并通过在 JSP 文件头部声明 `<%@ taglib prefix="s" uri="/struts-tags" %>` 来启用 Struts2 的标签库。这种方式简化了开发过程中的配置工作,使得开发者可以更加专注于...
- `<html:hidden>`:生成隐藏域。 - `<html:checkbox>`:生成复选框。 - `<html:multibox>`:生成多选框。 - `<html:radio>`:生成单选按钮。 - `<html:select>`:生成下拉列表。 - `<html:option>`:生成选项。 - `...