拦截表单提交到java_form submit拦截 表单提交拦截

[code]

previous form submit

posted = false;

function submitForm(form)

{

form.submit();

}

/**

* This is a form submit interceptor.

* In order to avoid duplicate submitting error, it will check posted flag. if posted flag is still false, will set it to true.

* Usage:

*     

* @author yangjincheng

*/

function formSubmitInterceptor()

{

var forms = document.getElementsByTagName("form");

if(!forms.length)

{

//if no form tag exists.

return;

}

for(var i = 0; i < forms.length; i++)

{

form = forms[i];

form.preFormSubmit = form.submit;

form.submit = function(){

if(typeof posted == "undefined")

{

alert("You must define variable: posted !!!");

return;

}

if(posted)

{

alert("form is submitted!");

return;

}

//1: When form submit, if posted is still false, set it to true.

if(!posted)

{

posted = true;

}

//2: Then submit form.

alert("Previous submit, you can add your code here...");

form.preFormSubmit();

}

}

}

[code]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您可以在Java使用Servlet的Filter过滤器来拦截表单提交的数据。Filter可以拦截HTTP请求和响应,并可以在请求到达目标资源之前或响应离开目标资源之前修改请求或响应。关于拦截表单提交的数据,您可以在过滤器通过HttpServletRequest对象获取请求的参数,进而对请求的参数进行处理或验证。 以下是一个简单的示例代码,用于拦截POST请求并处理请求参数。在这个示例,我们将验证表单提交的参数是否符合要求。 ```java public class FormFilter implements Filter { public void init(FilterConfig config) throws ServletException { // 初始化 Filter } public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { HttpServletRequest httpRequest = (HttpServletRequest) request; if (httpRequest.getMethod().equalsIgnoreCase("POST")) { // 获取请求参数 String name = request.getParameter("name"); String email = request.getParameter("email"); // 验证请求参数是否符合要求 if (name != null && email != null) { if (name.length() > 0 && email.length() > 0) { // 参数符合要求,继续处理请求 chain.doFilter(request, response); return; } } // 参数不符合要求,返回错误页面 HttpServletResponse httpResponse = (HttpServletResponse) response; httpResponse.sendError(HttpServletResponse.SC_BAD_REQUEST, "Invalid form data"); return; } // 不是 POST 请求,直接继续处理请求 chain.doFilter(request, response); } public void destroy() { // 销毁 Filter } } ``` 您需要在web.xml文件配置Filter,例如: ```xml <filter> <filter-name>FormFilter</filter-name> <filter-class>com.example.FormFilter</filter-class> </filter> <filter-mapping> <filter-name>FormFilter</filter-name> <url-pattern>/submit-form</url-pattern> </filter-mapping> ``` 在这个示例,我们将拦截路径为/submit-form的POST请求,并验证请求参数是否符合要求。如果参数符合要求,继续处理请求;否则返回错误页面。您可以根据自己的需求修改代码。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值