通过struts2标签在jsp获取对象属性失败,这是bug?

本文深入探讨了在使用Struts2框架时,Action类中属性获取规则与命名规范的重要性,特别关注了get、set方法的使用以及属性名称的命名规则,帮助开发者正确获取Action类属性。
public class HelloWorldAction extends ActionSupport {

	private static final long serialVersionUID = 1L;
	
	private MessageStore mStore;
	
	public HelloWorldAction(){
		mStore = new MessageStore();
	}

	@Override
	public String execute() throws Exception {
		System.out.println("executing...");
		mStore.setMessage("asdasdasd");
		return SUCCESS;
	}

	public MessageStore getMStore() {
		return mStore;
	}

	public void setMStore(MessageStore mStore) {
		this.mStore = mStore;
	}
}

上面的Action类有一个MessageStore对象mStore,在JSP页面用struts标签取值语句如下:
<s:property value="mStore.message"/>

若如上Action类写的get、set方法就能正常渠道对象的属性值,但是用Eclipse自动生成的getmStore()、setmStore()方法则不符合struts2的取值规则,必须协成getMStore()、setMStore()格式才能正常取值,因为

struts标签获取action属性值是通过getXXX方法。根据javabean的命名规则,属性名的第一个单词(注意哦问题就出现在这里 谁让你的第一个单词就一个字母了)的第一个字母大写 你的属性pId用Eclipse自动生成的方法为 getpId()和setpId;根据get方法的解析规则,指挥找get紧挨则的大些字母以后还原成属性(当然然还原不回去了,get后面的是小写嘛)。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值