我们公司的项目是搜索,如果不用get提交方式,当用户想将当前搜索的内容 发给别人看时 就会500 实现不了这个功能,我现在一直用post 想改成get方式,可是一改就出现如下异常?2008-06-06 11:26:29, ERROR org.apache.struts.actions.DispatchAction 220 - Request[/search] does not contain handler parameter named 'method'. This may be caused by whitespace in the label text.
org.apache.struts.actions.DispatchAction.unspecified(DispatchAction.java:220) 2008-06-06 11:26:29, WARN org.apache.struts.action.RequestProcessor 516 - Unhandled Exception thrown: class javax.servlet.ServletException
org.apache.struts.action.RequestProcessor.processException(RequestProcessor.java:516) 2008-06-06 11:26:29, ERROR org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/search].[action] 250 - Servlet.service() for servlet action threw exception
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:250) javax.servlet.ServletException: Request[/search] does not contain handler parameter named 'method'. This may be caused by whitespace in the label text.
at org.apache.struts.actions.DispatchAction.unspecified(DispatchAction.java:222)
at org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:256)
at org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:194)
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.doGet(ActionServlet.java:414)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at com.giaval.filter.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:23)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
at java.lang.Thread.run(Thread.java:619)谁知道 我该怎么做才能改成 get 提交方式呢?快帮帮我吧。如果弄不了我就得重新把所有的DispathAction改成Action了。这样比较郁闷啊~!
org.apache.struts.actions.DispatchAction.unspecified(DispatchAction.java:220) 2008-06-06 11:26:29, WARN org.apache.struts.action.RequestProcessor 516 - Unhandled Exception thrown: class javax.servlet.ServletException
org.apache.struts.action.RequestProcessor.processException(RequestProcessor.java:516) 2008-06-06 11:26:29, ERROR org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/search].[action] 250 - Servlet.service() for servlet action threw exception
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:250) javax.servlet.ServletException: Request[/search] does not contain handler parameter named 'method'. This may be caused by whitespace in the label text.
at org.apache.struts.actions.DispatchAction.unspecified(DispatchAction.java:222)
at org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:256)
at org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:194)
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.doGet(ActionServlet.java:414)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at com.giaval.filter.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:23)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
at java.lang.Thread.run(Thread.java:619)谁知道 我该怎么做才能改成 get 提交方式呢?快帮帮我吧。如果弄不了我就得重新把所有的DispathAction改成Action了。这样比较郁闷啊~!
传过来的参数有空格吧?
get提交方式是没问题的!
他说你没有叫“method”的参数,或许是由于whitespace in the label text,你查看下是不是有空格什么的!
这个就是表单啦
http://localhost:8080/search/search.do?wd=asdfasdf
这个是url然后就出现这个错误 大家帮看看吧~!~!~!
你把method名字换个是是
dispathaction 想使用 get 提交方式
得和js 一起用 挺麻烦的 刚才看了一篇文章 所以我现在直接把 dispathaction 全改成 action就OK了
dispathaction类(本身就extends action)要在actionform里面配置parameter="act" 然后在调用的action类里面必须使用..do?act=“方法名”
如果默认不带参数是执行execute()这个方法。。带上的方法名要在action类里面必须存在这个方法签名必须和execute()一样
不知道这样描述清楚否。。
地址请求中那个method=search会消失
从而找不到方法
我没办法也是全改成了post
dispathaction 你们自己随便做一个试试 然后用Get提交试试http://localhost:8080/search/search.do?wd=asdfasdf 这个就是默认的Get 提交方式 我们没有办法去改 不知道用JS改提交方式好不好使http://localhost:8080/search/search.do?action=search 这个是默认的Post 提交方式 你们试一下就知道了 还有12楼 你说的 == 废话, 如果不写一定出异常 你是不是没看懂我说的是什么意思啊?你看13和我的理解一样,我是没想到好方法。