当用户在其浏览器上点击"刷新"时,它会重新加载页面但保留表单字段的内容.虽然我可以看到这是一个有用的默认设置,但在某些动态页面上可能很烦人,导致用户体验受损.
在HTTP标头或等效物中,有没有办法改变这种行为?
我们使用iText从Java生成PDF(部分基于本网站的推荐).但是,以GIF等图像格式嵌入我们的徽标副本会导致人们放大和缩小时看起来有点奇怪.
理想情况下,我们希望以矢量格式嵌入图像,例如EPS,SVG或仅仅是PDF模板.该网站声称已经放弃了EPS支持,在PDF中嵌入PDF或PS可能会导致错误,甚至没有提到SVG.
我们的代码直接使用Graphics2D API而不是iText,但是如果达到了结果,我们愿意打破AWT模式并使用iText本身.如何才能做到这一点?
我恭维自己,我是一个优秀的程序员,可以摆脱平面设计.但是我无能为力的事情就是提出好名字 - 似乎与我合作的人也不是.我们现在处于略显荒谬的境地,我们已经为客户安装了几年的产品正在为客户安装,受到好评并且正在赚钱 - 但还没有名字.
我们的公司太小了,没有像适当的营销部门那样做这件事.那么人们如何倾向于选择名称,徽标和品牌?
这个错误一直让我疯狂.我们有一台运行Apache和Tomcat的服务器,服务于多个不同的站点.通常情况下,服务器运行正常,但有时会发生错误的时候,人们都提供了错误的页面- 页面是别人请!
线索:
JkMount内的指令<VirtualHost>是正确的.更多的信息:
Apache没有打开任何形式的缓存.httpd.conf和相关导入中的所有与缓存相关的条目都说明,例如:
<IfDefine CACHE>
LoadModule cache_module modules/mod_cache.so
</IfDefine>
Run Code Online (Sandbox Code Playgroud)
虽然Apache的选项不包含该标志:
APACHE2_OPTS="-D DEFAULT_VHOST -D INFO -D LANGUAGE -D SSL -D SSL_DEFAULT_VHOST -D PHP5 -D JK"
Run Code Online (Sandbox Code Playgroud)
Tomcat同样没有打开缓存选项,我可以找到.
toolkit的建议很好,但在这种情况下不合适.是什么让我相信错误不在我自己的代码中是因为它不仅仅是一些正在传输的值 - 它是整个请求,包括URL,参数,会话cookie,整个事情.人们正在回复说"你以约翰身份登录",而他们显然没有.
更新:
根据几个人的建议,我将向Tomcat提供的页面添加以下HTTP标头,以禁用所有形式的缓存:
Cache-Control: no-store
Vary: *
Run Code Online (Sandbox Code Playgroud)
希望这些标题不仅受到Apache的尊重,还受到可能阻碍的任何其他缓存或代理的尊重.不幸的是我无法故意重现这个错误,所以我只能等待,看看它是否再次出现.
我注意到包含以下标题 - 它们是否可能以任何方式相关?
Connection: Keep-Alive
Keep-Alive: timeout=5, max=66
Run Code Online (Sandbox Code Playgroud)
更新:
显然,当我睡着的时候,这又发生了,但现在已经停止了,我很清醒地看到了它.再一次,在我看到的日志中没有任何用处,所以我没有找到实际发生的事情或如何防止它的线索.
我可以在Apache或Tomcat的日志中添加任何额外的信息,以便更容易诊断吗?
更新:
由于这已经发生了几次,我们已经改变了Apache连接到Tomcat的方式,看它是否会影响事物.我们正在使用这样mod_jk的指令:
JkMount /portal ajp13
Run Code Online (Sandbox Code Playgroud)
我们现在切换到使用mod_proxy_ajp,如下所示:
ProxyPass /portal …Run Code Online (Sandbox Code Playgroud) 我需要读取可能包含或不包含字节顺序标记的Unicode文件.我当然可以自己检查文件的前几个字节,如果找到则丢弃BOM.但在此之前,有没有任何标准的方法可以做到这一点,无论是在核心库还是第三方?
我正在开发一个简单的RESTful API,并完全爱上它的简约性.但我不确定各种情况下的正确HTTP响应代码:
查询格式错误
正确形成的查询是指不存在的资源
资源已成功删除
资源已成功编辑
我现在想的是1 403 Forbidden; 2会是410 Gone; 3和4将是202 Accepted.他们听起来不错吗?
TinyMCE的valid_elements属性允许您定义有效HTML元素及其属性的白名单.您只能允许段落和链接:
tinyMCE.init({
valid_elements: 'p,a[href]'
});
Run Code Online (Sandbox Code Playgroud)
但是,该style属性有点问题.对于像对齐这样的某些事情需要它,但如果你允许它,那么它可能包含各种不受欢迎的CSS规则.有没有办法限制其内容只允许某些规则,如下所示:
a[href|style=text-align,font-size,color]
Run Code Online (Sandbox Code Playgroud) 我想在父主题和子主题中使用LESS样式表,其中大多数样式表信息由父项指定,子项只是覆盖了一些文件.这可以使用Ruby版本的LESS,如下所示:
var parser = new(less.Parser)({
paths: ['.', './lib'], // Specify search paths for @import directives
filename: 'style.less' // Specify a filename, for better error messages
});
Run Code Online (Sandbox Code Playgroud)
但是可以使用命令行编译器lessc吗?我想说:
$ lessc --path=".;../parent" style.less
Run Code Online (Sandbox Code Playgroud) 我正在使用Java中的iText从一个大的PDF文档中选择一些页面并保存为一个新的较小的PDF.与此同时,我想改变他们的颜色.
例如,假设我的页面都使用灰色阴影,我想将其设为绿色.使用的所有颜色都是灰色阴影.我想用绿色的相应颜色替换每种颜色.
Mark Storer问道:
你到底想要完成什么?
把这个...变成这个:


我有一些文件,我已经在使用iText根据用户输入从文档中选择一组较小的页面 - 将100多页减少到大约5页.同时我希望生成绿色,蓝色,黄色,粉红色等版本.不是每个页面都是灰度级的,而是所有重要的页面,所以如果需要的话我可以强制它们的颜色空间.
更新:
按照Mark Storer关于混合模式的建议,这就是我所拥有的:
val reader = new PdfReader(file.toURL)
val document = new Document
val writer = PdfWriter.getInstance(document, outputStream)
document.open()
/* draw a white background behind the page, so the
blend always has something to transform, otherwise
it just fills. */
val canvas = writer.getDirectContent
canvas.setColorFill(new CMYKColor(0.0f, 0.0f, 0.0f, 0.0f))
canvas.rectangle(10f, 0f, 100f, 100f)
canvas.fill
/* Put the imported page on top of that */
val page = writer.getImportedPage(reader, 1) …Run Code Online (Sandbox Code Playgroud) 我不确定如何在Ansible中的角色之间覆盖变量.
为了简化设置,我将两个角色应用于同一主机.第一个角色在其中定义一个变量default/main.yml:
do_some_task: yes
Run Code Online (Sandbox Code Playgroud)
并在其任务中查找该变量:
- name: Some Task
when: do_some_task
Run Code Online (Sandbox Code Playgroud)
第二个角色覆盖其中的vars/main.yml,它应该优先于默认值:
do_some_task: no
Run Code Online (Sandbox Code Playgroud)
但是,该任务仍在运行,表明该变量未被覆盖.似乎覆盖范围限定为第二个角色的任务.我通过向两个角色添加调试任务来测试它:
- name: Test some task
debug: "msg='do_some_task = {{ do_some_task }}'"
Run Code Online (Sandbox Code Playgroud)
这证实了第一个角色看到的变量值与第二个角色不同.
TASK: [role1 | Test some task]
ok: [myhost] => {
"msg": "do_some_task = True"
}
...
TASK: [role2 | Test some task]
ok: [myhost] => {
"msg": "do_some_task = False"
}
Run Code Online (Sandbox Code Playgroud)
对此的常见答案似乎是在库存或主机变量中设置变量.然而,这不是特别干:如果你有不同库存的许多主机,你必须在很多地方设置相同的变量.
那么是否有某种方法可以覆盖另一个角色的变量?