问题标签 [interceptorstack]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 如何在文件上传时绕过struts2拦截器
我编写了一个简单的页面,其中包含一个用于上传文件的表单和一个用于处理该文件的 jsp。
我的问题是,当文件上传时,请求对象由 Struts 拦截器处理,当涉及到 jsp 页面时,它已经被“消耗”了,因此使用诸如“ServletFileUpload.parseRequest() 之类的方法读取请求的调用" 返回空列表。
我已经找到了一个可行的解决方案,但这需要重新启动Tomcat,并且由于必须在生产服务器上添加页面,如果有办法不重新启动它会更好。
现在,我尝试和工作的是:
1)在struts.xml中我添加了
2) 在 struts-custom.xml 中我写道:
有了这个我可以绕过struts拦截器上传文件。
有更好/更清洁的解决方案吗?正如我所说,最好的解决方案是不需要重新启动应用程序服务器。
即使我不认为问题与代码有关,我也会发布它。
page.html:
上传.jsp:
先感谢您 :)
java - 从字符串到字节数组的 Strust2 类型转换错误?
Struts 2 具有隐式类型转换,它处理用户输入的参数类型转换,例如 int、string、double、boolean 等。但我的要求是将富文本区域输入转换为字节数组,为此我创建了一个自定义类型转换器类。
在模型类中,我在属性设置器上指定了以下注释
相同的注释也适用于 getter 方法。现在一切似乎都很好,我在 Action 方法中得到了正确的数据。但是在 jsp 上显示数据时,我得到了一些带有原始内容的额外符号。
例如。用户输入是:你叫什么名字?它显示在 jsp 上:¬íur[B¬óøTàxp你叫什么名字?
任何人有任何想法,我错了什么?
java - 为某些操作添加自定义拦截器
我创建了一个拦截器,我想在某些操作中映射到某些特定方法,并且我不想干扰现有代码:
struts.xml
:
自定义拦截器csrf
:
映射csrf
到一些动作:
validation - 验证失败时不会重新填充我的表单
我有一个简单的页面,其中包含一个firstName
字段和一个lastName
字段,这两个字段都是必需的。当我只输入一个字段时,我会收到正确的错误消息,但我会丢失输入的值。我确实有字段的 getter 和 setter,如果我输入它们,页面会正确使用这些值。一切似乎都以我之前项目中的方式设置,并且我没有丢失这些页面上的数据。我知道以前有人问过这个问题,但是根据这些答案我找不到我的代码有什么问题,所以我希望有人能看到我做错了什么。
我的jsp代码是:
我的struts动作是:
我的瓷砖代码是:
我的 struts2 结果类型和拦截器代码是:
我的验证 xml 是:
任何帮助将不胜感激,谢谢!
这是请求的dirtyFlag()
代码(和相关代码):
java - 在 Struts 2 中初始化 Action 类的字段的正确方法是什么?
我有一个类,用于存储从数据库中检索到的数据,该数据库具有对象作为字段。
我想在实例化类时初始化对象以避免null
指针问题。
我以为我在某处读到它不应该初始化字段声明中的字段,因为它可能会导致 Struts 出现问题(但我现在找不到该语句),所以我正在初始化构造函数中的字段。
我的问题是:
你用哪种方式做这件事有关系吗?或者您应该根本不这样做,只在实例化类后放入新对象?换句话说,我应该这样定义我的类:
其次是getter和setter或像这样。
其次是getter和setter或像这样:
其次是getter和setter,然后像这样实例化它:
java - 如何在 Struts2 中验证 Dropdown
我正在编写一个操作类,我想在其中使用Struts2
. 在我的 JSP 页面中,我有一个下拉菜单,其中有 10 个状态。当我部署应用程序时,Null
总是显示字段错误,甚至无需单击任何按钮。如果用户没有从下拉列表中选择任何状态,我希望打印该错误。
动作类:
不知何故,getState()
总是空的,因为它"Please select a state"
总是出现,而我希望在用户直接单击提交按钮而不选择任何状态时打印它。
java - Struts2 验证无法正常工作,未显示验证错误消息
首先,我使用简单的主题,但即使没有它,也会发生相同的行为(页面格式除外)。当我提交表单时,名称字段为空并重定向到 register.jsp 而不显示验证错误。检查日志或使用调试器后,似乎验证工作正常并且服务器日志消息按预期写入。我将发布通用代码。
struts.properties
我的行动
使用调试器检查,验证方法正在工作并写入日志。
struts.xml
注册.jsp
随时问我澄清。我对 struts 2 很陌生,我尝试了 struts 2 文档验证方式,并检查了其他教程。我不知道我是否遗漏了一些东西,或者我有一些我没有注意到的错误配置,因为逻辑正在运行而视图部分(jsp)没有。提前致谢。
java - 我们需要在 Struts2 中自定义 StrutsPrepareAndExecuteFilter 吗?
我们正在使用 Struts2 StrutsPrepareAndExecuteFilter
。里面的配置web.xml
是:
我们需要在这个通用拦截器中实现身份验证/权限。
什么是简单的方法?我们可以创建一个自定义的拦截器来扩展StrutsPrepareAndExecuteFilter
并在其中执行我们的实现吗?
java - 如何从 Struts 2 中的默认拦截器中排除一项操作
我想从我的默认拦截器中排除登录操作而不把它放在一个不同的包中
我要排除的操作是登录操作
java - 带有从数据库加载的字段选项和验证的表单
情况如下:
- 我有一个带有表单的 JSP 页面。
- 此表格包含各种
<select>
带有从 DB 加载的选项的各种标签。 - 我想对 XML 文件使用验证。
问题如下:如果我使用一个xml文件,表单字段有一些错误,struts框架并没有通过我布置的类方法,而是直接返回input
结果。那么有什么意义呢?这样我就无法加载各种选项<select>
我上面提到的各种标签的选项。
所以我想做这样的事情:
但是有了这个技巧,我会丢失所有错误消息,即hasFieldErrors()
总是返回假。
我该如何解决?