这个错误网上很多解决方法,有说action中的类要new的,类要有默认构造函数等等很多方法,我遇到的却很奇葩,变量名必须为小写,PMenu,变量名为pMeun就不行,为pmenu就可以。
下面附上我的代码。
jsp页面
<form id="menu_add_form" action="${pageContext.request.contextPath}/menuAction!addMenu.action" method="post">
<table>
<tr>
<td><fmt:message key="menu.name" /></td>
<td>
<input type="text" name="pmenu.name" class="easyui-validatebox" data-options="required:true"/>
</td>
<td><fmt:message key="menu.code" /></td>
<td>
<input type="text" name="pmenu.code"/>
</td>
</tr>
<tr>
<td><fmt:message key="menu.turn" /></td>
<td>
<input type="text" name="pmenu.turn"/>
</td>
<td><fmt:message key="menu.parent" /></td>
<td>
<input id="menu_add_parent" type="text" name="pmenu.parent_id" class="easyui-validatebox" data-options="required:true"/>
</td>
</tr>
<tr>
<td>
<a href="javascript:void(0)" οnclick="javascript:add()" class="easyui-linkbutton">easyui</a>
</td>
<td>
</td>
</tr>
</table>
</form>
<script type="text/javascript">
function add(){
$('#menu_add_form').submit();
}
</script>
action中的代码
private PMenu pmenu;//此处变量名必须为小写
public void addMenu(){
System.out.println(pmenu.getName()+ " --- " + pmenu.getCode() + "---"+ pmenu.getParent_id());
}
public void getMenuTree(){
super.writeJson(menuService.getMenuTree());
}
public PMenu getPmenu() {
return pmenu;
}
public void setPmenu(PMenu pmenu) {
this.pmenu = pmenu;
}