java.lang.NoSuchMethodException: $Proxy13.get()帮忙看看。。

qq554290192 2012-01-04 12:34:39
struts的配置文件

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
<constant name="struts.i18n.encoding" value="gbk" />
<constant name="struts.objectFactory" value="spring" />
<package name="default" namespace="/admin" extends="struts-default">
<action name="putInsert" class="purveryAction"
method="Insert">
<result name="success">yes.html</result>
<result name="error">no.jsp</result>
</action>
<action name="getAll" class="purveryAction" method="get">
<result name="success">yes.jsp</result>
<result name="error">no.jsp</result>
</action>
<action name="getOne" class="purveryAction" method="get">
<result name="success">yes.jsp</result>
<result name="error">no.jsp</result>
</action>
</package>
</struts>

spring 的配置文件



<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="configLocation" value="classpath:hibernate.cfg.xml">
</property>
</bean>
<bean id="txManager"
class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory" />
</bean>

<tx:advice id="txAdvice" transaction-manager="txManager">
<tx:attributes>
<tx:method name="get*" propagation="REQUIRED" read-only="true" />
<tx:method name="find*" propagation="REQUIRED" read-only="true" />
<tx:method name="search*" propagation="REQUIRED" read-only="true" />
<tx:method name="query*" propagation="REQUIRED" read-only="true" />
<tx:method name="add*" propagation="REQUIRED" />
<tx:method name="submit*" propagation="REQUIRED" />
<tx:method name="save*" propagation="REQUIRED" />
<tx:method name="insert*" propagation="REQUIRED" />
<tx:method name="del*" propagation="REQUIRED" />
<tx:method name="remove*" propagation="REQUIRED" />
<tx:method name="update*" propagation="REQUIRED" />
<tx:method name="modify*" propagation="REQUIRED" />
<tx:method name="check*" propagation="REQUIRED" />
<tx:method name="do*" propagation="REQUIRED" />
<tx:method name="*" propagation="REQUIRED" read-only="true" />

</tx:attributes>
</tx:advice>

<aop:config>
<aop:pointcut id="serviceMethod" expression="execution(* org.benz.action.*.*(..))" />
<aop:advisor advice-ref="txAdvice" pointcut-ref="serviceMethod" />
</aop:config>

<bean id="purveryDao" class="org.benz.dao.impl.PurveyDaoImpl">
<property name="sessionFactory" ref="sessionFactory"></property>
</bean>
<bean id="purveryBiz" class="org.benz.biz.impl.PurveryBizImpl">
<property name="purdao" ref="purveryDao"></property>
</bean>
<bean id="purveryAction" class="org.benz.action.Purveyactionfrom">
<property name="purveryBiz" ref="purveryBiz"></property>
</bean>
</beans>

action的代码


public String Insert() {
//将页面填写的省,市,区,详细地址合并成送货地址
this.purvey.setProvinces(this.getCity()+","+this.getRegion());
String str=purveryBiz.insert(purvey);
if(str =="插入成功"){
return SUCCESS;
}else{
return ERROR;
}
}
public String update(){
String ret =purveryBiz.updateById(purvey);
if(ret =="修改成功"){
return SUCCESS;
}
return ERROR;

}
public String get(){
List<Purvey> list = purveryBiz.getAll();
if(list != null){
ActionContext ac = ActionContext.getContext();
ac.getSession().put("supplierList", list);
return SUCCESS;
}else{
return ERROR;
}
}
public String getByTrading(){
Purvey pu = this.purveryBiz.getByTrading(this.getTrading());
if(pu != null){
ActionContext ac = ActionContext.getContext();
ac.getSession().put("purvey", pu);
return SUCCESS;
}else
{
return INPUT;
}
}


}

页面的代码:

<s:form action="putInsert" method="post">
<table>
<tr>
<td colspan="4" class="subtitle">
供货商信息
</td>
</tr>
<tbody>
<tr>
<th style="width: 15%;">
<span class="warning">*</span>供货商代码:
</th>
<td>
<input id="Text2" type="text" name="purvey.trading" class="inputText" />
</td>
<th style="width: 15%;">
<span class="warning">*</span>中文名称:
</th>
<td>
<input id="Text26" name="purvey.chname" type="text" class="inputText" />
</td>
</tr>
<tr>
<th style="width: 300px;">
<span class="warning">*</span>英文名称:
</th>
<td>
<input id="Text27" type="text" name="purvey.englishname" class="inputText" />
</td>
<th style="width: 300px;">
<span class="warning">*</span>网址:
</th>
<td>
<input id="Text30" type="text" name="purvey.work" class="inputText" />
</td>
</tr>
<tr>
<th style="width: 300px;">
<span class="warning">*</span>联系人:
</th>
<td>
<input id="c_magazineId" type="text" name="purvey.linkman" class="inputText" />
</td>
<th style="width: 300px;">
<span class="warning">*</span>联系电话:
</th>
<td>
<input id="Text28" type="text" name="purvey.phone" class="inputText" />
</td>
</tr>
<tr>
<th>
<span class="warning">*</span>省市:
</th>
<td>
国家 <input type="text" id="country" name="purvey.country">
省<input type="text" id="sheng" name="city">
市 <input type="text" id="shi" name="region">
</td>
<th>
<span class="warning">*</span>详细地址:
</th>
<td>
<input id="Text1" type="text" class="inputText" name="purvey.address"/>
</td>
</tr>
<tr>
<th>
<span class="warning">*</span>邮政编码:
</th>
<td>
<input id="Text3" type="text" name="purvey.mail" class="inputText" />
</td>
<th>
<span class="warning">*</span>企业简称:
</th>
<td>
<input id="Text4" type="text" name="purvey.projectname" class="inputText" />
</td>
</tr>
<tr>
<th>
<span class="warning">*</span>开户银行:
</th>
<td>
<input id="Text5" type="text" name="purvey.bank" class="inputText" />
</td>
<th>
<span class="warning">*</span>账号:
</th>
<td>
<input id="Text6" type="text" name="purvey.accounts" class="inputText" />
</td>
</tr>
<tr>
<th>
<span class="warning">*</span>收款单位:
</th>
<td>
<input id="Text7" type="text" name="purvey.gatheringunit" class="inputText" />
</td>
<th>
<span class="warning">*</span>付款条件:
</th>
<td>
<input id="Text8" type="text" name="purvey.payment" class="inputText" />
</td>
</tr>
<tr>
<th>
备注:
</th>
<td colspan="3">
<textarea rows="5" style="width: 100%;" name="purvey.remark"></textarea>
</td>
</tr>
</tbody>
<tr>
<td colspan="6" class="toolbar">
<input type="submit" class="inputButton" value="确定" />
 
<input type="button" class="inputButton" value="取消" onclick="" />
</td>
</tr>
</table>
</s:form>


报错。:
java.lang.NoSuchMethodException: $Proxy13.get()
java.lang.Class.getMethod(Class.java:1605)
org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.getActionMethod(AnnotationValidationInterceptor.java:75)
org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:47)
...全文
1000 20 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
ll894311655 2012-02-23
  • 打赏
  • 举报
回复
添加那句之后,还是报错,报的是另一种错误。。。。。
qq554290192 2012-01-04
  • 打赏
  • 举报
回复
来个人帮忙看看阿。
qq554290192 2012-01-04
  • 打赏
  • 举报
回复
纠结了一早上了。。。一直报错说找不到方法。。。
qq554290192 2012-01-04
  • 打赏
  • 举报
回复
哪位大神帮忙看看。
qq554290192 2012-01-04
  • 打赏
  • 举报
回复
[Quote=引用 18 楼 panhaichun 的回复:]

加了<aop:config proxy-target-class="true">会使用cglib创建代理,他直接创建目标对象的子类对象,你在action写的那些方法被代理子类对象继承下来了,所以不会报NoSuchMethodException了
[/Quote]
谢了,结贴了。
panhaichun 2012-01-04
  • 打赏
  • 举报
回复
加了<aop:config proxy-target-class="true">会使用cglib创建代理,他直接创建目标对象的子类对象,你在action写的那些方法被代理子类对象继承下来了,所以不会报NoSuchMethodException了
panhaichun 2012-01-04
  • 打赏
  • 举报
回复
[Quote=引用 16 楼 qq554290192 的回复:]
引用 13 楼 panhaichun 的回复:

引用 9 楼 qq554290192 的回复:
引用 6 楼 panhaichun 的回复:
aop:config 加上 proxy-target-class="true" 试试

<aop:config proxy-target-class="true">

原因暂不解释

加上这句话后控制台报错了,

org.sprin……
[/Quote]

因为你对action配置了aop,并且你用的是默认的jdk动态代理。
jdk代理只能针对接口创建代理,他创建出来的对象只有你实现的接口里面的方法,也就没有你在action里面写的get或者insert之类的方法,运行起来自然会报NoSuchMethodError
qq554290192 2012-01-04
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 panhaichun 的回复:]

引用 9 楼 qq554290192 的回复:
引用 6 楼 panhaichun 的回复:
aop:config 加上 proxy-target-class="true" 试试

<aop:config proxy-target-class="true">

原因暂不解释

加上这句话后控制台报错了,

org.springframework.dao.InvalidData……
[/Quote]
还是搞不懂,这样子做是什么意思,第一次碰到这种情况,
qq554290192 2012-01-04
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 bill0605030109 的回复:]

是木有getter和setter把。。

<bean id="purveryBiz" class="org.benz.biz.impl.PurveryBizImpl">
<property name="purdao" ref="purveryDao"></property>
</bean>
<bean id="purveryAction" class="……
[/Quote]
哥们,我的问题不在这,那些方法都有,只不过发帖有字数限制,我就把那个删了,再说依赖注入只需要有set方法就够了吧?
qq554290192 2012-01-04
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 panhaichun 的回复:]

引用 9 楼 qq554290192 的回复:
引用 6 楼 panhaichun 的回复:
aop:config 加上 proxy-target-class="true" 试试

<aop:config proxy-target-class="true">

原因暂不解释

加上这句话后控制台报错了,

org.springframework.dao.InvalidData……
[/Quote]
感谢你阿,加上你那句话确实是进方法了,只要在web.xml里再配置一个东西就行了,谢谢你阿。
panhaichun 2012-01-04
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 qq554290192 的回复:]
引用 6 楼 panhaichun 的回复:
aop:config 加上 proxy-target-class="true" 试试

<aop:config proxy-target-class="true">

原因暂不解释

加上这句话后控制台报错了,

org.springframework.dao.InvalidDataAccessApiUsageException: W……
[/Quote]

加了这句话你的方法被执行了。
但是你的事务配置了readonly,实际上进行了写操作。
你要看看哪些方法进行了写操作但是却配置成了readonly
  • 打赏
  • 举报
回复
是木有getter和setter把。。

<bean id="purveryBiz" class="org.benz.biz.impl.PurveryBizImpl">
<property name="purdao" ref="purveryDao"></property>
</bean>
<bean id="purveryAction" class="org.benz.action.Purveyactionfrom">
<property name="purveryBiz" ref="purveryBiz"></property>
</bean>

org.benz.biz.impl.PurveryBizImpl里要有purdao的getter setter
org.benz.action.Purveyactionfrom里要有purveryBiz的getter setter
qq554290192 2012-01-04
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 rinoajun 的回复:]

public String insert()
方法名小写
[/Quote]
。。之前是小写的,后来改的时候就光测试了,跟这个没关系
Rinoajun 2012-01-04
  • 打赏
  • 举报
回复
public String insert()
方法名小写
qq554290192 2012-01-04
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 panhaichun 的回复:]
aop:config 加上 proxy-target-class="true" 试试

<aop:config proxy-target-class="true">

原因暂不解释
[/Quote]
加上这句话后控制台报错了,

org.springframework.dao.InvalidDataAccessApiUsageException: Write operations are not allowed in read-only mode (FlushMode.MANUAL): Turn your Session into FlushMode.COMMIT/AUTO or remove 'readOnly' marker from transaction definition.
at org.springframework.orm.hibernate3.HibernateTemplate.checkWriteOperationAllowed(HibernateTemplate.java:1175)
at org.springframework.orm.hibernate3.HibernateTemplate$12.doInHibernate(HibernateTemplate.java:685)
at org.springframework.orm.hibernate3.HibernateTemplate$12.doInHibernate(HibernateTemplate.java:1)
at org.springframework.orm.hibernate3.HibernateTemplate.doExecute(HibernateTemplate.java:406)
at org.springframework.orm.hibernate3.HibernateTemplate.executeWithNativeSession(HibernateTemplate.java:374)
at org.springframework.orm.hibernate3.HibernateTemplate.save(HibernateTemplate.java:683)
at org.benz.dao.impl.PurveyDaoImpl.insert(PurveyDaoImpl.java:26)
at org.benz.biz.impl.PurveryBizImpl.insert(PurveryBizImpl.java:42)
at org.benz.action.Purveyactionfrom.Insert(Purveyactionfrom.java:49)
at org.benz.action.Purveyactionfrom$$FastClassByCGLIB$$d4fd4c20.invoke(<generated>)
at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149)
at org.springframework.aop.framework.Cglib2AopProxy$CglibMethodInvocation.invokeJoinpoint(Cglib2AopProxy.java:692)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:108)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:89)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:625)
at org.benz.action.Purveyactionfrom$$EnhancerByCGLIB$$4862b90d.Insert(<generated>)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:441)
at com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:280)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:243)
at com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:165)
at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
at com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:252)
at org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:68)
at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
at com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:122)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:195)
at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:195)
at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
at com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:179)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
at org.apache.struts2.interceptor.MultiselectInterceptor.intercept(MultiselectInterceptor.java:75)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
at org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:94)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
at org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:235)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
at com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(ModelDrivenInterceptor.java:89)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
at com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor.intercept(ScopedModelDrivenInterceptor.java:130)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
at org.apache.struts2.interceptor.debugging.DebuggingInterceptor.intercept(DebuggingInterceptor.java:267)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
at com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingInterceptor.java:126)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
at com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:138)
at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
at com.opensymphony.xwork2.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:165)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
at org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:164)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
at com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(AliasInterceptor.java:179)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
at com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:176)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
at org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:52)
at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:488)
at org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:77)
at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:91)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Thread.java:619)
qq554290192 2012-01-04
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 quhuafeng521 的回复:]

楼主。你看下Action的介绍吧。。你在Action中的这些方法是怎么样在HTML中被引的。
在ACTION中有默认的post.get.或是service方法。
或是在调用的时候用 <s:form action="putInsert!Insert" method="post">叹号后跟方法名来对应相对的方法。
像你这么写的话ACTION会自动调用ACTION中的post()或是servi……
[/Quote]

我不是在struts。xml文件里标注了方法嘛?<action name="putInsert" class="purveryAction"
method="Insert">
qq554290192 2012-01-04
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 abstruct 的回复:]

把错误都贴出来!!!
[/Quote]
exception

java.lang.NoSuchMethodException: $Proxy13.Insert()
java.lang.Class.getMethod(Class.java:1605)
org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.getActionMethod(AnnotationValidationInterceptor.java:75)
org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:47)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:122)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:195)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:195)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:179)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
org.apache.struts2.interceptor.MultiselectInterceptor.intercept(MultiselectInterceptor.java:75)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:94)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:235)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(ModelDrivenInterceptor.java:89)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor.intercept(ScopedModelDrivenInterceptor.java:130)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
org.apache.struts2.interceptor.debugging.DebuggingInterceptor.intercept(DebuggingInterceptor.java:267)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingInterceptor.java:126)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:138)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:87)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
com.opensymphony.xwork2.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:165)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:164)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(AliasInterceptor.java:179)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:176)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:237)
org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:52)
org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:488)
org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:77)
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:91)

控制台不抱错,页面里报的。
panhaichun 2012-01-04
  • 打赏
  • 举报
回复

aop:config 加上 proxy-target-class="true" 试试

<aop:config proxy-target-class="true">

原因暂不解释
quhuafeng521 2012-01-04
  • 打赏
  • 举报
回复
楼主。你看下Action的介绍吧。。你在Action中的这些方法是怎么样在HTML中被引的。
在ACTION中有默认的post.get.或是service方法。
或是在调用的时候用 <s:form action="putInsert!Insert" method="post">叹号后跟方法名来对应相对的方法。
像你这么写的话ACTION会自动调用ACTION中的post()或是service()方法。但你的ACTION中没有写这样的方法。所以会报错
安特矮油 2012-01-04
  • 打赏
  • 举报
回复
把错误都贴出来!!!

67,549

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧