• 关于

    jsp的提示标签

    的搜索结果

问题

JS API的调用问题。

玩脱 2019-12-01 21:43:44 3360 浏览量 回答数 3

问题

关于jsp<c:if test标签对比字符串问题? 400 报错

爱吃鱼的程序员 2020-06-22 23:10:28 0 浏览量 回答数 1

问题

关于jsp<c:if test标签对比字符串问题? 400 报错

爱吃鱼的程序员 2020-06-02 14:14:46 0 浏览量 回答数 1

阿里云高校特惠,助力学生创业梦!0元体验,快速入门云计算!

学生动手场景应用,快速了解并掌握云服务器的各种新奇玩法!

回答

每次填写完表单后单击提交后,struts中action执行相关业务逻辑,通过forward对象转到某个页面。这时若刷新页面后,会再执行同样的逻辑。比如录数据到数据库,按照上面的情况,数据库中会有两条同样的数据。为了避免这种情况,有几种解决办法: 1 :在执行业务逻辑后,返回一个Forward对象,这个forward对象的path属性应该配置一个幂等的XXX.do操作,这样可以解决,但是有可能不符合用户的要求,所以还有其他方法。 2:重定向,在配置文件里配置redirect属性,重定向到xxx.jsp。这种情况下会丢失request范围内的参数,若xxx.jsp不要求这些参数就可以,如操作的数据保存在session范围内,就不会影响整体效果。但还是有弊端。 3:利用struts1.x令牌能很好解决这类问题。 必要条件:在表单内,必须使用struts的库标签如:。 如下例子: LoginAction: package com.web.action; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; import org.apache.struts.actions.DispatchAction; public class LoginAction extends DispatchAction { public ActionForward get(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { //保存令牌(保存在jsp动态生成的32位jsessionid)\ this.saveToken(request); System.out.println("begin save"); return mapping.findForward("login"); } public ActionForward login(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { /**//*if(this.isTokenValid(request)) { System.out.println("valid"); this.resetToken(request); return mapping.findForward("ok"); }*/ //这个写法和上面注释部分一样效果 if(this.isTokenValid(request,true)) { System.out.println("valid"); return mapping.findForward("ok"); } else { System.out.println("invalid"); return mapping.findForward("error"); } } } struts-config.xml: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN" "http://struts.apache.org/dtds/struts-config_1_2.dtd"> <struts-config> <data-sources /> <form-beans> <form-bean name="loginForm" type="com.web.form.LoginForm"></form-bean> </form-beans> <global-exceptions /> <global-forwards /> <action-mappings> <action path="/login" parameter="method" name="loginForm" type="com.web.action.LoginAction"> <forward name="login" path="/login.jsp" /> <forward name="ok" path="/ok.jsp" /> <forward name="error" path="/error.jsp" /> </action> </action-mappings> <message-resources parameter="" /> </struts-config> index.jsp: <% @page contentType="text/html; charset=GBK"%> <% @taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> <c:set var="ctx" value="${pageContext.request.contextPath}" /> <html> <head> <title>My Jsp</title> </head> <body> <a href="${ctx}/login.do?method=get">发言</a> </body> </html> login.jsp: <% @page contentType="text/html; charset=GBK"%> <% @taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> <% @taglib uri="http://jakarta.apache.org/struts/tags-html" prefix="html" %> <html> <head> <title>My Jsp</title> </head> <body> <c:set var="ctx" value="${pageContext.request.contextPath}"/> <!-- 此处必须使用html标签,否则token不能用 --> <html:form action="login.do?method=login" method="post"> <html:submit value="提交"></html:submit> </html:form> </body> </html> 当你运行第一次的时候,会提示你"成功".这时我们退到login.jsp查看一下源代码: <html> <head> <title>My Jsp</title> </head> <body> <form name="loginForm" method="post" action="/strutsToken/login.do?method=login"> <div><input type="hidden" name="org.apache.struts.taglib.html.TOKEN" value="d7484f95247cf242a6f35107a1c7ac25"></div> <input type="submit" value="提交"> </form> </body> </html> 对比一下我们写的login.jsp多了一个隐藏域: 此时生成了一个32位的唯一的JsessionID做为值.与LoginAction中的get方法的saveToken(request)是一样的.此句的作用就是把一个jsessionid保存到request范围里.在我们后退重新调用: if(this.isTokenValid(request,true)) { System.out.println("valid"); return mapping.findForward("ok"); } 时,就会拿login.jsp里传过来的jsessionid和request的进行比较,如果一样,说明不合法.因为我们的操作都是在一个请求会话里操作的.说明你在重复提交.如果不一样,说明重新生成了一个唯一的jsessionid(新开一个浏览器),开启了一个新会话,重新提交,这是合法的.这样就防止了表单重复提交问题. 为了防止表单重复提交,一般在设计action方法时:如录入数据,设计成两个方法,add()和insert(),在add方法中保存令牌并转到页面,在页面提交到insert方法中,判断令牌。

小旋风柴进 2019-12-02 02:16:00 0 浏览量 回答数 0

回答

web应用中经常需要判断用户是否已经登录,如果没有登录,那么跳转到登录页面。一般我们在后台页面中都会使用frame来划分功能区。这种方法比较实用,但是随之而来就有一个小问题,就是当用户session超时之后,当用户再在后台进行操作时,我们需要重新让用户登录。一般我会选择使用一个Filter来控制用户的访问权限,当用户没有登录的时候重定向到login.jsp。那么我们可以直接使用request.sendRedirect()方法来实现。但是由于是在frame中,所以这种方式会将login.jsp显示在当前的frame中,这并不是我们想要的效果。sendRedirect放方法中并没有能中的target属性。这里我们可以采用JavaScript来实现这一功能。 PrintWriter out =resp.getWriter(); out.write("<html>"); out.write("<script>"); out.write("window.open ('login.jsp','_top')"); out.write("</script>"); out.write("</html>"); return; 当然,如果浏览器禁用了javascript,那么这种方法就没用了。不过有多少人没事将javascript禁用调用呢。如果有更好的方案(不使用js),麻烦告知我一下..还有一个问题就是,当用户登录失败或者操作执行之后总是需要给出一些提示信息吧。如果总是使用js弹窗来做提示的话,用户体验不好。最好还是专门做一个提示页面,当需要显示提示信息的时候,我们可以呈现该页面,并将一些参数传递过来,比如提示内容,要调转的页面等。在使用struts2时,我不太喜欢使用自带的一些提示功能(也不喜欢用它的标签),小的网站应用根本不用考虑国际化之类的问题,直接把提示硬编码在代码中效率更高,谁没事三天两头的去修改代码… message.jsp [html] view plain copy print? <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <% String path = request.getContextPath() + request.getAttribute("url"); %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>提示信息</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="Refresh" content="4; url=<%=path%>" /> </head> <body> <table border="0" align="center" cellpadding="5" cellspacing="1" style="font-size: 14px; color: #333333; margin-top: 100px; background: #70afd3"> <tr style="color: #FFFFFF"> <th> 提示信息 </th> </tr> <tr> <td height="100" style="font-size: 12px; background: #FFFFFF"> <div style="font-size: 14px; font-weight: bold; margin: 10px;"> ${message} </div> <div style="margin: 10px;"> 系统将在 <span id="countDownSec" style="color: blue; font-weight: bold"></span> 秒后自动跳转,如果不想等待,直接 <a href=<%=path%> style="color: #069;">点击这里</a> </div> </td> </tr> </table> <script language="javascript" type="text/javascript"> var countDown = function(timer,eleId,interType){ document.getElementById(eleId).innerHTML = timer; var interval = interType=='s'?1000:(interType=='m'?1000*60:1000*60*60); window.setInterval(function(){ timer--; if (timer > 0) { document.getElementById(eleId).innerHTML = timer; } },interval); }; countDown(4,'countDownSec','s'); </script> </body> </html> Action呈现提示页面:setMessage("登录失败:用户名或密码不正确!","/admin/login.jsp");return MESSAGE;效果图:

小旋风柴进 2019-12-02 02:00:06 0 浏览量 回答数 0

问题

关于jsp<c:if test标签对比字符串问题 400 请求出错 

黄一刀 2020-05-26 21:13:36 19 浏览量 回答数 1

问题

关于jsp&lt;c:if test标签对比字符串问题?报错

爱吃鱼的程序员 2020-06-22 18:36:08 0 浏览量 回答数 1

问题

jsp jstl 遍历 request 中的 list 问题?报错

爱吃鱼的程序员 2020-06-12 14:18:06 0 浏览量 回答数 1

问题

各项配置已经配置好了还是有问题:报错

kun坤 2020-06-14 06:58:13 0 浏览量 回答数 1

问题

各项配置已经配置好了还是有 No result defined** 配置报错

montos 2020-06-02 19:14:59 0 浏览量 回答数 1

问题

各项配置已经配置好了还是有 :配置报错 

kun坤 2020-05-31 22:41:29 0 浏览量 回答数 1

回答

经过不懈努力本人自己解决这个问题 出现这个问题的原因:html渲染的,要配合freemark使用,所以视图解析必须使用freemark才能渲染html(个人见解)具体配置如下:     <!-- 配置freeMarker的模板路径 -->     <bean id="freemarkerConfig" class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer">         <property name="templateLoaderPath" value="/WEB-INF/view/common/" />         <property name="freemarkerSettings">             <props>                 <prop key="template_update_delay">1</prop>                 <prop key="defaultEncoding">UTF-8</prop>                 <prop key="url_escaping_charset">UTF-8</prop>                 <prop key="locale">zh_CN</prop>                 <prop key="boolean_format">true,false</prop>                 <prop key="datetime_format">yyyy-MM-dd HH:mm:ss</prop>                 <prop key="date_format">yyyy-MM-dd</prop>                 <prop key="time_format">HH:mm:ss</prop>                 <prop key="number_format">0.##</prop>                 <prop key="whitespace_stripping">true</prop>                             </props>         </property>     </bean> <!-- 配置freeMarker视图解析器 -->     <bean id="viewResolver" class="org.springframework.web.servlet.view.freemarker.FreeMarkerViewResolver">         <property name="viewClass" value="org.springframework.web.servlet.view.freemarker.FreeMarkerView" />         <property name="contentType" value="text/html; charset=utf-8" />         <property name="cache" value="true" />         <property name="redirectContextRelative" value="false" />         <property name="suffix" value=".html" />         <property name="order" value="1" />         <property name="requestContextAttribute" value="request" />         <property name="exposeRequestAttributes" value="true" />         <property name="exposeSessionAttributes" value="true" />         <property name="exposeSpringMacroHelpers" value="true" />         <property name="allowSessionOverride" value="true" />     </bean> <!-- jsp视图解析器视图解释类 -->     <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">         <property name="prefix" value="/WEB-INF/view/jsp/" />         <property name="suffix" value=".jsp" /><!--可为空,方便实现自已的依据扩展名来选择视图解释类的逻辑 -->         <property name="order" value="1" />         <property name="viewClass" value="org.springframework.web.servlet.view.JstlView" />     </bean>######过滤器######过滤器怎么实现,求思路######配置配置配置,看见酒恶心,你不觉得恶心吗?还用什么springmvc =============================== nginx 某台机器出问题时,就使用backup 400 请求报错  nginx默认其它所有的非backup机器down或者忙的时候,才请求backup机器。 能否实现3台机器负载均衡接流量,1台backup机器,当3台中某一台出现问题时,启用backup机器. --- 那实际上你的需求不是负载均衡(Load Balance),而是高可用(High Available) see: http://ajitabhpandey.info/2009/03/building-a-highly-available-nginx-reverse-proxy-using-heartbeat/ ######keepalived =============================== PHP中https的问题,如何让标签请求的url开头变成https? 400 请求报错  比如说标签 <a href="{:url('Xiaoqu/index')}">小区</a> 中怎么让这个标签请求的url开头是https呢,网页一直报Mixed Content错误 求大神支招 --- 拿到url的值把http替换成https不行么######不是一个页面啊,几百个页面######改你的url函数######你这个跟你自己的url没关系啊,要看那个你访问的域名有没有配置https啊.######你应该用的是TP5+吧 建议你查看URL你会发现url函数是相对路径 如果你觉得你要生成绝对路径不带https 建议你在app/common.php中加入一个函数 _UrlHttps($_Url,$P){ return 'https://'.url($_Url,$P); }   =============================== ASP.NET用C#开发时怎么么弹出对话框啊? 400 请求报错  假设有一个输入框(TextBox)控件,只能输入数字,如果输入了字符,就要提示出错,在网页中弹出对话框提示出错,就像javascript的alert()或confirm()那样,这个怎么做啊? --- http://msdn.microsoft.com/zh-cn/library/system.windows.forms.messagebox.aspx######js事件最好用jQuery绑定 <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="WebApplication1._Default" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title>Text Box Validation</title> <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script> <script type="text/javascript"> $(function () { $("#<%=NumberEditor.ClientID %>").keydown(function (e) { if ($.browser.msie) { if (((e.keyCode > 47) && (e.keyCode < 58)) || (event.keyCode == 8) || (e.keyCode>= 96 && e.keyCode <= 106)) {  // 判断键值 return true; } else { return false; } } else { if (((e.which > 47) && (e.which < 58)) || (e.which == 8) || (event.keyCode == 17) || (e.keyCode >= 96 && e.keyCode <= 106)) { return true; } else { return false; } } }).focus(function () { this.style.imeMode = 'disabled'; }); }); </script> </head> <body> <form id="form1" runat="server"> <div> <asp:TextBox ID="NumberEditor" ClientIdMode="" runat="server"></asp:TextBox> </div> </form> </body> </html> ######客户端验证,还是JavaScript的事

kun坤 2020-05-29 17:58:47 0 浏览量 回答数 0

问题

java 进销存 crm websocket即时聊天发图片文字 好友群组 SSM源码

游客ydre72cd7ywew 2019-12-01 19:53:21 40 浏览量 回答数 0

问题

SSH面试题

琴瑟 2019-12-01 21:46:22 3489 浏览量 回答数 0

问题

Activiti 工作流项目源码 代码生成器 websocket即时通讯 springmvc SS

游客egqjd4t7mlyom 2019-12-01 19:54:26 50 浏览量 回答数 0

问题

Activiti6.0 java项目框架 spring5 SSM 工作流引擎 审批流程

游客ydre72cd7ywew 2019-12-01 20:01:08 10 浏览量 回答数 0

问题

Activiti6.0 java项目框架 spring5 SSM 工作流引擎 审批流程

游客q6uipubrszn5g 2019-12-01 19:59:18 27 浏览量 回答数 0

问题

Activiti6.0 java项目框架 spring5 SSM 工作流引擎 审批流程

游客ydre72cd7ywew 2019-12-01 19:53:06 30 浏览量 回答数 0

问题

Activiti6.0 工作流引擎 websocket即时聊天发图片文字 好友群组 SSM源码

游客q6uipubrszn5g 2019-12-01 19:57:13 37 浏览量 回答数 0

问题

程序员报错QA大分享(1)

问问小秘 2020-06-18 15:46:14 8 浏览量 回答数 1

问题

为啥找不到j_spring_security_check咧?居然报404~

a123456678 2019-12-01 20:23:51 3209 浏览量 回答数 1
阿里云大学 云服务器ECS com域名 网站域名whois查询 开发者平台 小程序定制 小程序开发 国内短信套餐包 开发者技术与产品 云数据库 图像识别 开发者问答 阿里云建站 阿里云备案 云市场 万网 阿里云帮助文档 免费套餐 开发者工具 企业信息查询 小程序开发制作 视频内容分析 企业网站制作 视频集锦 代理记账服务 2020阿里巴巴研发效能峰会 企业建站模板 云效成长地图 高端建站