补充一点.
action中的 return mapping.findForward("show"); 是转到别的页面的,不是原来所提交的页面!

解决方案 »

  1.   

    jsp代码:
    <logic:iterate id="result" name="result">
    <tr>
    <td><bean:write name="search" property="auId"/></td>
    <td><bean:write name="search" property="auLname"/></td>
    <td><bean:write name="search" property="auLname"/></td>
    <td><bean:write name="search" property="phone"/></td>
    <td><bean:write name="search" property="address"/></td>
    <td><bean:write name="search" property="city"/></td>
    <td><bean:write name="search" property="zip"/></td>
    </tr>
    </logic:iterate>异常是:Cannot find bean in any scope
      

  2.   

    你试下我改过的代码!应该没问题了!
    logic:iterate --id里是你定义的一个变量名,name里是你所设置的属性名
    这时内部的bean:write name里就应该添你刚才定义的变量名了!jsp代码:
    <logic:iterate id="student" name="result">
    <tr>
    <td><bean:write name="student" property="auId"/></td>
    <td><bean:write name="student" property="auLname"/></td>
    <td><bean:write name="student" property="auLname"/></td>
    <td><bean:write name="student" property="phone"/></td>
    <td><bean:write name="student" property="address"/></td>
    <td><bean:write name="student" property="city"/></td>
    <td><bean:write name="student" property="zip"/></td>
    </tr>
    </logic:iterate>
      

  3.   

    jsp代码:
    <logic:iterate id="result" name="result">
    <tr>
    <td><bean:write name="search" property="auId"/></td>
    <td><bean:write name="search" property="auLname"/></td>
    <td><bean:write name="search" property="auLname"/></td>
    <td><bean:write name="search" property="phone"/></td>
    <td><bean:write name="search" property="address"/></td>
    <td><bean:write name="search" property="city"/></td>
    <td><bean:write name="search" property="zip"/></td>
    </tr>
    </logic:iterate>
    ----------------------
    <logic:iterate id="result" name="result">这里定义的id值相当于一个for循环的临时对象变量,就是取result这个list里面的某个,相当于list.get(i)返回的对象所以你后面<bean:write要显示的是这个临时对象变量内包含的值就是<bean:write name="result" property="" />这里要注意的是<logic:iterate 内的id也就是定义临时变量名字最好不要跟其他的重名
      

  4.   

    现在出现新的错误了,可以拿到值,也可以显示.但如果查询出来的记录数大于 1 的话就会出错!错误如下:
    http-8080-Processor24 WARN - SQL Error: 0, SQLState: 08007
    http-8080-Processor24 ERROR - [Microsoft][SQLServer JDBC Driver]Can't start a cloned connection while in manual transaction mode.
    http-8080-Processor24 WARN - SQL Error: 0, SQLState: 08007
    http-8080-Processor24 ERROR - [Microsoft][SQLServer JDBC Driver]Can't start a cloned connection while in manual transaction mode.
    http-8080-Processor24 INFO - Error performing load command
    org.hibernate.exception.JDBCConnectionException: could not load an entity: [com.lichen.infocenter.hibernate.mapping.Authors#427-17-2319]
    at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:66)
    at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
    at org.hibernate.loader.Loader.loadEntity(Loader.java:1359)
    at org.hibernate.loader.entity.EntityLoader.load(EntityLoader.java:116)
    at org.hibernate.loader.entity.EntityLoader.load(EntityLoader.java:101)
    at org.hibernate.persister.entity.BasicEntityPersister.load(BasicEntityPersister.java:2471)
    at org.hibernate.event.def.DefaultLoadEventListener.loadFromDatasource(DefaultLoadEventListener.java:351)
    at org.hibernate.event.def.DefaultLoadEventListener.doLoad(DefaultLoadEventListener.java:332)
    at org.hibernate.event.def.DefaultLoadEventListener.load(DefaultLoadEventListener.java:113)
    at org.hibernate.event.def.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java:75)
    at org.hibernate.impl.SessionImpl.immediateLoad(SessionImpl.java:643)
    at org.hibernate.proxy.AbstractLazyInitializer.initialize(AbstractLazyInitializer.java:59)
    at org.hibernate.proxy.AbstractLazyInitializer.getImplementation(AbstractLazyInitializer.java:84)
    at org.hibernate.proxy.CGLIBLazyInitializer.intercept(CGLIBLazyInitializer.java:134)
    at com.lichen.infocenter.hibernate.mapping.Authors$$EnhancerByCGLIB$$a380a89c.getAuLname(<generated>)
    at com.lichen.infocenter.hibernate.dao.DAOFactory.search(DAOFactory.java:68)
    at com.lichen.infocenter.struts.action.ShowAction.execute(ShowAction.java:60)
    at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:419)
    at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:224)
    at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194)
    at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
    at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
    at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
    at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
    at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
    at java.lang.Thread.run(Thread.java:595)
    Caused by: java.sql.SQLException: [Microsoft][SQLServer JDBC Driver]Can't start a cloned connection while in manual transaction mode.
    at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)
    at com.microsoft.jdbc.base.BaseConnection.getImplConnection(Unknown Source)
    at com.microsoft.jdbc.base.BaseStatement.getImplConnection(Unknown Source)
    at com.microsoft.jdbc.base.BaseStatement.getImplStatement(Unknown Source)
    at com.microsoft.jdbc.base.BaseStatement.preProcessSQL(Unknown Source)
    at com.microsoft.jdbc.base.BasePreparedStatement.<init>(Unknown Source)
    at com.microsoft.jdbc.base.BaseConnection.prepareStatement(Unknown Source)
    at org.hibernate.jdbc.AbstractBatcher.getPreparedStatement(AbstractBatcher.java:396)
    at org.hibernate.jdbc.AbstractBatcher.getPreparedStatement(AbstractBatcher.java:334)
    at org.hibernate.jdbc.AbstractBatcher.prepareQueryStatement(AbstractBatcher.java:88)
    at org.hibernate.loader.Loader.prepareQueryStatement(Loader.java:1162)
    at org.hibernate.loader.Loader.doQuery(Loader.java:390)
    at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:218)
    at org.hibernate.loader.Loader.loadEntity(Loader.java:1345)
    ... 34 more
      

  5.   

    问题解决了!把 Iterator it = query.iterate(); 改成 List list=query.list();就行了,谢谢各位了!