当前位置: 首页 > 面试题库 >

struts 2动作,无设置方法

濮阳耀
2023-03-14
问题内容

我想为来自用户界面的数据的属性创建一个没有setter和getter的动作类。相反,我想ServletActionContext.getRequest().getParameterMap()在自己的生成器类中使用该对象。

我创建Action了没有属性的课程。当我提交表格时,我遇到了ognl.OgnlException: target is null for setProperty(null, "field-name", [Ljava.lang.String;@5513fab7)

是否需要其他约定或配置来传达Struts2框架以不设置属性并停止避免我在上面收到的异常?


问题答案:

params通过将参数设置为拦截器,可以从拦截器的可接受参数中排除某些属性excludeParams。默认情况下,此参数使用

<interceptor-ref name="params">
  <param name="excludeParams">dojo\..*,^struts\..*,^session\..*,^request\..*,^application\..*,^servlet(Request|Response)\..*,parameters\...*</param>
</interceptor-ref>

您应该在此处添加属性,它接受正则表达式模式以匹配属性名称。可以通过已ParameterNameAware执行的操作来破坏采用可接受的参数名称的策略,您可以在其中删除上面给出的限制。

为了更具体地说明“来自用户界面的数据”,我坚持认为interceptor- ref元素的参数在启动时会应用于拦截器,并且不会存储在配置管理器中的其他位置。这意味着您不能在运行时获取此参数,只能通过更新和重新加载配置文件进行更改struts.xml。如果您将配置保存在安全的地方并且可以进行修改,那么可以对运行中的应用程序安全性提出更多要求。



 类似资料:
  • 主要内容:创建动作:,创建视图,执行应用程序,建立多个动作:动作是Struts2框架的核心,因为他们的任何MVC(模型 - 视图 - 控制器)框架。每个URL将被映射到一个特定的动作,它提供了来自用户的请求提供服务所需的处理逻辑。 但动作也提供其他两个重要的能力。首先,操作从请求数据的传输中起着重要的作用,通过向视图,无论是一个JSP或其它类型的结果。二,动作必须协助的框架,在确定结果应该渲染视图,在响应该请求将被退回。 创建动作: 在Struts2的动作

  • 主要内容:1. 动作 - Action,2. 可选动作接口,3. ActionSupport,4. 动作注释,总结在Struts2中,会花大部分的时间用在用动作来处理工作。动作类包含业务逻辑,获取资源包,保存数据,验证,并选择应发回给用户的视图的结果页面。这是Struts2的核心,所以必须要了解动作的基本概念。 1. 动作 - Action Struts 2动作不强迫你实现任何接口或扩展类,它只是需要你实现一个 execute()方法返回一个字符串来表示其应该返回的结果页面。 在struts.x

  • 问题内容: 我想将我的JSON对象从Javscript发送到Struts2 Action。 样本JSON对象 我的Jquery Ajax Struts.xml配置 我的动作课 我的问题是如何在Action类中接收JSON对象。 注意:POST OF JSON对象成功。.我只是不知道如何通过Action Class接收它。.请帮助谢谢 问题答案: 您输入的内容有错别字 您是否已在中定义图块结果和拦截

  • 主要内容:映射拦截动作,参考Struts 2的开发者用来声明行为属于一个包,扩展 “struts-default“, 其中包含默认设置的拦截。 拦截器的默认设置进行分组为“defaultStack”在struts-default.xml文件中,它位于 struts2-core.jar 文件,“defaultStack”提供所有的核心Struts2功能,这是最适合应用的需要。 试着学习struts-default.xml文件,

  • 了解在升级到新版本的 Photoshop 或在不同计算机上安装 Photoshop 时,如何迁移预设、动作、增效工具、首选项和设置。 预设、设置和动作 预设是指在 Photoshop 中应用于图稿的项目和值的集合。您可以随时存储和载入预设,或将其替换为自定值。例如,动作、画笔和键盘快捷键就是预设。Photoshop 附带有预设,但是您也可以自己创建预设。 设置是指当前载入到 Photoshop 中

  • 问题内容: 嗨,我是Struts的新手,试图在Struts中打招呼,但我遇到了错误。我正在尝试将其修复,但无法执行。错误消息是 我的档案是 Web.xml是 那么该代码的解决方案是什么。 问题答案: 从类路径中删除。但是对于管理库的解决方案,您可以使用Maven。 请参阅使用Maven构建的教程:使用Maven 创建Struts 2 Web应用程序以管理工件和构建应用程序 。 随下载的最小依赖项