input标签中使用disabled这个属性导致传参失败等问题

来源:互联网 发布:java中配置文件是什么 编辑:程序博客网 时间:2024/06/07 01:11

问题一:之前遇到过input标签中使用disabled这个属性导致传参失败的问题,由于当时没有总结,致使现在又弄了老半天才发现。

<div class="formtitle"><span>修改问题选项</span></div>    <form action="${path }/msgController/msgItemsModify" method="post">    <input type="hidden" name="stage" value="${specifiedQuestion.stage }">    <ul class="forminfo"><li><label>stage</label><input name="stage" value="${specifiedQuestion.stage }" type="text" class="dfinput" disabled="disabled"/></li>    <li><label>no</label><input name="id" value="${specifiedQuestion.id }" type="text" class="dfinput" disabled="disabled"/></li>    <li><label>items</label>    <textarea name="content" class="textinput">${specifiedQuestion.content }</textarea>     ......    </ul>    </form>
在后台,我们获取通过input标签中的name属性获得该文本域的value值:

@RequestMapping("/msgModifyUi")public String msgModifyUi(String stage,Model model){System.out.println("msgModifyUi,stage:"+stage);
当我们如第一段代码中,使用了disabled的属性,导致我们的stage没有值。所以我们加了一个没有disabled的属性的隐藏域来进行传参。
问题二:

表单中使用get方式提交会导致后台接收的中文数据出现乱码,即使在web.xml中配置了编码过滤器:

<!-- 编码过滤器,解决中文乱码 --><filter><filter-name>SpringEncoding</filter-name><filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class><init-param><param-name>encoding</param-name><param-value>utf-8</param-value></init-param></filter><filter-mapping><filter-name>SpringEncoding</filter-name><url-pattern>/*</url-pattern></filter-mapping>
所以,我们的form表单应该尽量使用post方式提交或者你在后台对中文数据进行编码处理。

问题三:

今天在发布项目之后,访问时浏览器访问一直在转圈,出不来页面。原因是因为我在使用shiro进行验证时,在spring的配置文件中:

<property name="filterChainDefinitions"><value>.........        <!-- authc需要认证(登陆)才能使用 -->        /** = authc</value></property>
配置了/**对所有的方法都需要认证,所以才会出现这类现象。

解决办法:可以这样写:/*.action*,表示对以action结尾的方法才进行认证。



0 0
原创粉丝点击