【发布时间】:2021-04-02 04:39:27
【问题描述】:
我们正在使用带有ModelDriven 接口的操作。该操作具有scopedModelDriven interceptor,我们将模型保存在会话中。
型号如下:
public class Fundtransfer{
private String amount;
private String sourceAccount;
private String destinationAccount;
private String sign
//setter's and getter's ommited
}
Fundtransfer bean 用作模型。 JSP 表单有数量、sourceAcount 和destinationAcount 字段,它们通过modelDriven 拦截器自动映射到Fundtransfer bean。
一切正常,直到听到!
当然,用户可以简单地遍历 HTML 表单并将名为 sign 的变量传递给操作,拦截器会将其更新为 bean。
我们是否可以配置一个模型,使其符号值无法通过ModelDriven拦截器更新。
我知道我可以创建一个新 bean,然后将其复制到 Fundtransfer bean 或使用某种继承。有没有更好的方法。
我们使用的真正的 bean 很大,而且有些还有嵌套的 bean。
我想也许我可以使用一些方面的技巧,但我不知道这是否可能?
【问题讨论】:
-
您应该不公开不应通过设置器设置的值。这通常非常危险。
标签: java jsp struts2 aspectj aop