修剪此字符串的最佳方法是什么?放置修剪代码的最佳位置在哪里?
假设我的jsp中有以下文本字段:
<s:textfield label="First Name" name="person.firstname"/>
动作类:
public class BaseAction extends ActionSupport implements ServletRequestAware,SessionAware { private Person person; // Getters,setters and action logic }
豆子:
public class Person implements Serializable { private String lastname; private String firstname; // Getters and setters }
我可以更改bean中的默认设置,但这似乎是一个黑客:
public void setFirstname(String firstname) { this.firstname = firstname.trim(); }
编辑:我也看到了这个问题:struts2 trim all string obtained from forms,其中一些人也建议“正确”的方法是使用拦截器.
为什么拦截器是“正确的”方式?改变bean的二传手有什么不对?
解决方法
简短的回答是默认情况下,没有构建机制来执行此操作,您需要在您的操作类中执行此操作,或者某种类型的java脚本将为您执行此操作.
其他可能的方法是创建一个拦截器来执行此操作,以选择排除或类似的徒步旅行.
我相信Interceptor是一个很好的方法来实现这一点,最好有这样的拦截器来自S2.