我有一个jsp搜索页面(Search.jsp)和一个结果页面(Result.jsp),它们都可以选择搜索条件.然后将参数传递给java控制器文件(Controller.java)以构建查询字符串并执行查询搜索.查询字符串和搜索结果将传递给Result.jsp进行显示.
目前,我使用servletContext来记住已处理的查询字符串,如果用户使用Result.jsp选择搜索条件,Controller.java会将此类条件附加到现有查询字符串.如果我使用Result.jsp进行一些搜索.例如,查询字符串将显示((Query1) AND Query2) AND Query3在Result.jsp页面上.然后使用浏览器的后退按钮返回上一个显示页面.对于同一示例,将显示查询字符串(Query1) AND Query2.然后,如果我再次搜索.(((Query1) AND Query2) AND Query3) AND Query4将使用查询字符串.我知道这是我当前的实现所期望的,因为Result.jsp不会对已处理的查询字符串进行任何修改.
但是,我想当用户使用浏览器后退按钮,例如,查询字符串显示在页面上(Query1) AND Query2,并执行搜索时,查询字符串应该((Query1) AND Query2) AND Query4是根据结果上当前显示的查询字符串构建查询字符串的.jsp页面加上当前选择.我怎样才能做到这一点?这听起来很简单,但我已经尝试了几种使用Result.jsp来更新查询字符串的方法,但仍然无法正确使用它.因此,我想知道我的使用方法可能<c:set>是错误的.我想听听你的建议.提前致谢.
我的IIS7 web.config设置为以下静态资源文件夹(不在ASP.NET应用程序或任何内容中):
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<staticContent>
<clientCache cacheControlCustom="public" cacheControlMode="UseMaxAge" cacheControlMaxAge="500.00:00:00" />
</staticContent>
<httpProtocol allowKeepAlive="false" />
</system.webServer>
</configuration>
Run Code Online (Sandbox Code Playgroud)
当我尝试访问Silverlight .XAP文件时,我希望IIS告诉浏览器它可以缓存500天.
但是,这是缓存头:
Cache-Control: no-cache,public,max-age=43200000
为什么IIS仍然no-cache使用上述配置文件添加到此标头?
PF 3.5(4.0),Omnifaces 1.6.3,Mojara 2.1.21
是否可以控制将在JSF xhtml页面内发送的http标头?我的意思是:
.xhtml:
<html xmlns:http="a cool name space">
<h:head>
<http:headers header="Cache-Control" value="no-cache, no-store, must-revalidate" />
</h:head>
<h:body> .... </h:body>
</html>
Run Code Online (Sandbox Code Playgroud) 我刚刚在线添加了一些使用tornado.web.authenticated的简单登录.不幸的是,在成功注销后,当我按下浏览器上的后退按钮时,我仍然可以看到已登录的页面.有没有办法触发浏览历史记录中页面的登录屏幕?
编辑:为了澄清,我已经在使用@ tornado.web.authenticated注释,它适用于正常的用例,但我遇到的问题是,当使用浏览器的Back按钮返回时,我仍然能够看到页面好像我已登录.我希望有办法解决这个潜在的安全问题.
我有一个在WebSphere v8.5服务器实例上运行的Web应用程序.我刚刚将应用程序JSP中的共享代码更新为单独的JSP,并使用以下行导入到原始JSP中:
<%@ include file="/WEB-INF/pages/table.jsp" %>
Run Code Online (Sandbox Code Playgroud)
但是,每当我对后端逻辑或此table.jsp文件进行修改时,更改都会反映在应用程序中.我已经尝试重新启动服务器并进行干净的构建,但旧的格式仍然存在.有谁知道我如何解决这个缓存或我如何阻止它继续发生?
在我的Web应用程序中,我希望java脚本在用户关闭浏览器时清除缓存.
javascript应该监听事件并清除缓存.
任何人都可以提供示例代码或任何有用的链接?
我搜索过高和低,无法找到任何脚本或说明如何ONLY ONCE在最初加载/查看后自动刷新页面.
我实现了一个javascript代码,声明:如果页面完全加载,立即刷新页面,但只刷新一次.
window.onload = function () {window.location.reload()}
Run Code Online (Sandbox Code Playgroud)
但这给出了一个没有"只有一次"的循环.
我也实现了,meta refresh但它也给了一个循环.
<meta http-equiv="refresh" content= "0;URL=http://www.example.com" />
Run Code Online (Sandbox Code Playgroud)
请告诉我如何首次使用身体onload刷新功能only once,而不是每次刷新php页面时都使用.
我表达你的直接反应.谢谢
当我尝试在symfony2中注销我的会话支持被完全清除但是如果我点击浏览器后退按钮我可以进入我以前的会话
firewalls:
main:
pattern: /.*
form_login:
login_path: /login
check_path: /login_check
default_target_path: /hrs/applyleave/
logout:
path: /logout
target: /login
path: security_admin_logout
target: security_admin_login
invalidate_session: true
delete_cookie:~
security: true
anonymous: true
Run Code Online (Sandbox Code Playgroud)
有什么我想念的吗?
我在JSP页面中对数据编码存在一些问题(我使用的是Spring-MVC).它看起来像这样:
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%
response.setHeader("Cache-Control", "no-cache"); //HTTP 1.1
response.setHeader("Pragma", "no-cache"); //HTTP 1.0
response.setDateHeader("Expires", 0);
response.setCharacterEncoding("UTF-8");
request.setCharacterEncoding("UTF-8");
%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>
.....
<form method="post">
<input type="text" name="txt" value="${Name}" />
<input type="submit" value= OK />
</form>
........
Run Code Online (Sandbox Code Playgroud)
我的应用程序从输入文本框中获取文本并将其写入数据库(HSQLDB).当我使用英文字母写数据时,一切正常!但是当我在输入文本框中尝试使用俄语字母时,它会以不正确的编码形式写出一些奇怪的字母.如何避免这个问题?
有任何想法吗?
当我的GAE应用程序的用户单击后退按钮时,我需要阻止他们看到页面的缓存版本 - 也就是说,我需要运行该URL 的python get或post代码.
jsp ×3
caching ×2
html ×2
java ×2
javascript ×2
php ×2
python ×2
servlets ×2
http-headers ×1
iis-7 ×1
jquery ×1
jsf ×1
jsf-2 ×1
omnifaces ×1
page-refresh ×1
search ×1
session ×1
silverlight ×1
spring ×1
spring-mvc ×1
symfony ×1
tornado ×1
websphere ×1