这几天用struts2标签时出现一些比较奇怪的问题,关键代码如下(这里只截取表单的一部分,其余部分也是同样效果):${photoType.name}
<s:textfield id="name" name="photoType.name" title="必填" cssClass="text"
value="%{#request.photoTypeDetail.name}" cssStyle="width: 154px"/>
<span class="red">
<s:fielderror><s:param>photoType.name</s:param></s:fielderror>
</span>以上代码可以正常运行,但是存在一个怪异!
在功能设计上,我在上述文本框中输入“1”,然后会返回验证框架的错误信息“相册名必须大于4个字符”。
然而实际执行情况是,错误信息返回了,但是文本框中没有“1”,大家都知道struts2的textfield标签是可以保存填入的信息的,因为在Action处我有相关属性的set和get方法。
然而我在断点调试的时候发现,Action的this.get方法可以获取到该文本框的值“1”,于是我使用EL标签${photoType.name},成功获取到了“1”的值。这个情况不仅在textfield标签存在,其他任何表单标签都存在,以上标签已经用于多个模块(语法上不会出现错误),却偏偏只有这个模块出现问题,请问哪位也碰过这个问题吗?
务必指教,我已经找了2天了都没找到错误原因。
<s:textfield id="name" name="photoType.name" title="必填" cssClass="text"
value="%{#request.photoTypeDetail.name}" cssStyle="width: 154px"/>
<span class="red">
<s:fielderror><s:param>photoType.name</s:param></s:fielderror>
</span>以上代码可以正常运行,但是存在一个怪异!
在功能设计上,我在上述文本框中输入“1”,然后会返回验证框架的错误信息“相册名必须大于4个字符”。
然而实际执行情况是,错误信息返回了,但是文本框中没有“1”,大家都知道struts2的textfield标签是可以保存填入的信息的,因为在Action处我有相关属性的set和get方法。
然而我在断点调试的时候发现,Action的this.get方法可以获取到该文本框的值“1”,于是我使用EL标签${photoType.name},成功获取到了“1”的值。这个情况不仅在textfield标签存在,其他任何表单标签都存在,以上标签已经用于多个模块(语法上不会出现错误),却偏偏只有这个模块出现问题,请问哪位也碰过这个问题吗?
务必指教,我已经找了2天了都没找到错误原因。
解决方案 »
- struts2 的validate="true" 所生成的javascript问题
- 【十万火急】socket向servlet发送请求
- 用java soap开发分布式系统有什么大的优势吗?
- spring 中定时器的设置
- 【Hibernate框架】Hibernate中Session的save(Object)方法是如何实现的?
- 新手请教webservice问题
- 求助:特殊字符处理
- 怎么从自己的servlet中迁移到struts的action class中(.do)?
- 为什么我的ejb的Local接口不能调用
- 一个应用服务器的问题,这样设计合理吗?(关于多线程的问题。)
- org.springframework.web.context.support.XmlWebApplicationContext
- J2EE图片路径中的变量 被替换
但问题是,我另一个模块的站点名字编辑代码如下
<s:textfield id="sitetitle" name="websiteConfig.sitetitle" value="%{#request.websiteConfig.sitetitle}" cssClass="text" cssStyle="width: 154px" />
例如传过来的值是“网易123”,那么在文本框中自然显示网易123;
然后在文本框中输入值“网易123网易123网易123网易123”并提交,此时提示错误信息“不能超过10个字符”,返回文本框的值也是“网易123网易123网易123网易123”而非“网易123“。对比这两个文本框的代码,可以发现完全一致,为什么结果完全不同,真是头大啊!