问题描述
<formaction=""method="post"><jsp:useBeanid="cattle"scope="page"class="cattle.cattle_move_info"><jsp:setPropertyname="cattle"property="*"/></jsp:useBean><jsp:useBeanid="chStr"scope="page"class="com.mysql.chStr"/><jsp:useBeanid="con"scope="page"class="com.mysql.sql"/>setProperty不起作用啊,我认真检查过了,在JavaBean里面的变量名字和input文本框的名字是一样的,但是<jsp:setPropertyname="cattle"property="*"/>这一句话就是不能得到值,得到的是空值,也不提示有错。插入到数据库里面的是空值。各位高手帮帮忙啊
解决方案
解决方案二:
jsp:setProperty用来设置已经实例化的Bean对象的属性,有两种用法。首先,你可以在jsp:useBean元素的外面(后面)使用jsp:setProperty,如下所示:<jsp:useBeanid="myName".../>...<jsp:setPropertyname="myName"property="someProperty".../> 此时,不管jsp:useBean是找到了一个现有的Bean,还是新创建了一个Bean实例,jsp:setProperty都会执行。第二种用法是把jsp:setProperty放入jsp:useBean元素的内部,如下所示:<jsp:useBeanid="myName"...>...<jsp:setPropertyname="myName"property="someProperty".../></jsp:useBean> 此时,jsp:setProperty只有在新建Bean实例时才会执行,如果是使用现有实例则不执行jsp:setProperty。
解决方案三:
我也遇到跟你一样的问题,经过查找很多资料发现是在Bean中set和get方法中的问题。如a.jsp用户名:<inputtype="text"name="username"><br>密码:<inputtype="password"name="password"><br><inputtype="submit"value="登录">A.classpublicclassA{privateStringusername;privateStringpassword;publicvoidsetUsername(Stringusername)//注意setUsername必须写成这样不要写成setUserName{this.username=username;}publicvoidsetPassword(Stringpassword){this.password=password;}publicStringgetUsername(){returnthis.username;}publicStringgetPassword(){returnthis.password;}}希望对你有帮助,我的自动匹配成功。
解决方案四:
class="cattle.cattle_move_info"这里应该是你类的完整路径,cattle_move_info难道是Java文件吗?如果是那就为什么类名首字母不用大写的。