<s:combobox>标签在使用出现问题:改变下拉列表的选中值,文本框的值不能随着被改变
问题描述:
在学习<s:combobox>标签时,有s-combobox.jsp页面,内容如下:
运行时,生成的html页面如下:
改变下拉列表的选中值,文本框的值不能随着被改变,而且浏览器报js错误,仔细查得是autoPopulate_s-combobox_book这个自动生成的js方法方法名中有“-”造成语法解析错误
由此可见 ,<s:combobox>在生成html代码时,js方法名和jsp的文件名有关,而jsp文件名为“s-combobox.jsp”带有“-”,所以导致问题的发生
解决方法一:
改变jsp文件名为“s_combobox.jsp”
解决方法二:
为<s:form>指定属性id,名为“s_combobox”,中间不要带“-”就可以了,即:
<s:form id="s_combobox">
做上述修改后,问题得到解决

本文介绍了一个关于Struts2框架中s:combobox标签使用时出现的问题及解决方案。问题表现为下拉列表选择变化时,文本框内容未同步更新,并伴有JavaScript错误。文章提供了两种解决方法。
329





