我写了个Struts2 + Hibernate + Spring的小例子但是遇到了点错误,那位大虾指点一下 1. selectMenu.jsp  页面 中 url 在数据库中为null, 但是页面却显示值
2. 在selectMenu.jsp 中点击 Edit 时, 调用MenuAction save() 方法,在调用save之前,先调用prepare()方法, 可是当跳转到menuForm.jsp页面时, 只有id显示出值, 这里应该是从url中得到的menu.id ,但是为什么没有执行prepare中的查询, 搞不懂 ?  (参考了Struts.apache.org中的一个CRUD的例子) 
3. 在menuForm.jsp 中添加数据, 在id栏填 “01”, 但是在数据库中添加的却是 “01, ”, 数据明显多了一个逗号跟空格, 以前在Hibernate + Struts1的时候没有遇到过高手帮忙啊~~~压缩包太大,就把lib包去掉了

解决方案 »

  1.   

    3. 在menuForm.jsp 中添加数据, 在id栏填 “01”, 但是在数据库中添加的却是 “01, ”, 数据明显多了一个逗号跟空格, 以前在Hibernate + Struts1的时候没有遇到过 
    jsp页面中可能有元素命名重复,查一下。
      

  2.   


    <%@ page language="java" pageEncoding="UTF-8"%>
    <%@ taglib prefix="s" uri="/struts-tags" %>
    <s:if test="menu==null || menu.id == null">
    <s:set name="title" value="添加菜单"/>
    </s:if>
    <s:else>
    <s:set name="title" value="更新菜单"/>
    </s:else><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head>
        
        <title><s:property value="#title" /></title>
        
    <meta http-equiv="pragma" content="no-cache">
    <meta http-equiv="cache-control" content="no-cache">
    <meta http-equiv="expires" content="0">    
    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    <meta http-equiv="description" content="This is my page">
    <!--
    <link rel="stylesheet" type="text/css" href="styles.css">
    -->  </head>
      
      <body>
        <s:form action="menuAll!save.action" method="post">
        <s:textfield name="menu.id" value="%{menu.id}" label="id" size="8"/>
        <s:textfield name="menu.pid" value="%{menu.pid}" label="pid" size="8"/>
        <s:textfield name="menu.name" value="%{menu.name}" label="name" size="20"/>
        <s:hidden name="menu.id"/>
        <s:hidden name="menu.target" value="main1Frame" />
        <s:submit value="提交"/> &nbsp;<s:submit value="取消" name="redirect-action:menu"/>
    </s:form>
      </body>
    </html>
      

  3.   

    <s:textfield name="menu.id" value="%{menu.id}" label="id" size="8"/>
    <s:hidden name="menu.id"/>struts会把这两个元素解析成数组。