java - Struts2中使用域对象进行数据传输时如何排除字段

标签 java model-view-controller struts2

在 Struts2 中,在操作中使用域驱动非常方便,但是,当数据自动传输到对象上时就会出现问题。正如我们所看到的,如果请求具有与域对象上的属性匹配的参数,则数据将被移动到这些属性上。现在,考虑一下这样的情况:您的域对象具有一些您并不真正希望暴露给此自动数据传输的敏感数据属性(可能是 ID),我们如何排除它们?在asp.net mvc中,我们可以使用排除注释来轻松做到这一点:Bind(Exclude="empId")],我们是否有类似的方法来做到这一点?

最佳答案

您可以使用 params 来执行此操作拦截器。拦截器是defaultStack的一部分,您可以在外层包中配置它或单独将其应用到操作上。它具有属性 excludeParams,您可以使用此参数来配置需要从总体中排除的属性。伴随或在 ParameterNameAware 的支持下您可以将用于定义接受的参数列表和黑名单的逻辑分开。关于 ParameterNameAware 的一点需要注意的是,它能够显示被拦截器排除的参数。

关于java - Struts2中使用域对象进行数据传输时如何排除字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17514605/

相关文章:

url - 如何在 Struts 2 操作中构建操作 url?

spring - 使用Struts2 Spring Hibernate进行异常处理-做到这一点的最佳方法

java - 使用 java JDBC 、 jsp 、 servlet 处理删除父记录

asp.net-mvc - 从 MVC 中的 Controller 确定局部 View 的模型

java - 如何验证struts2 Action 中表单的输入

java - 安卓 : Issue in creating pie chart in a fragment

java - 如何获取 indexOf 多个分隔符?

java - Maven 依赖项的全局范围

java - 将类对象发送到阶段 Controller - javafx

javascript - 如何在 Web 应用程序中使用 Node、Express、Postgresql 遵循 MVC 架构