日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

struts2的java.lang.NoSuchMethodException异常处理

發布時間:2025/3/11 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 struts2的java.lang.NoSuchMethodException异常处理 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

不久前在學習struts時出現這個錯誤,在網上搜索了半天,發現答案不一。將其總結如下,以方便大家參考。

1、

你有沒有試試看 其它的方法能不能用,要是都是這種情況的話,可能是你的Action類沒有繼承structs里面的DispatchAction或者其它的類。還有你注意下方法的參數列表,類型順序要正確才行,是按照以下順序的:ActionMapping mapping,ActionForm form ,HttpServletRequest request,HttpServletResponse response

2、

發現有兩種錯誤可能引起上述異常:

一.Action 類的方法被定義成private 類型.

如下Action 中被訪問的方法被定義成private 類型.程序在訪問其方法時,會拋出以上異常.

3、

其實java.lang.NoSuchMethodException這個異常的根本原因有兩個:第一,缺少某些jar文件;第二,某些jar文件有重復。

4、

使用struts2框架出現的問題

在頁面使用jquery ajax 調用action中的vaildUname方法,報錯,說我的方法不存在。但實際是存在的。

public String vaildUname(String loginName) throws Exception{}

問題就在這個參數上,struts2中是不能有參數的(具體我也不知道為什)

?

解決方法:

private String loginName;

public String vaildUname() throws Exception{}

loginName的getter和setter方法

這樣在使用ajax調用的時候,就可以了

·struts2是通過反射機制來執行action的方法,struts2規范目前action方法是不需要參數的,有參數的方法和沒參數的方法是兩個不同的方法,所以會出現找不到的情況。

5、

jar版本不對

應該是3.6jar包的問題,換回3.2的包又沒事了

6、

java.lang.NoSuchMethodException 這個異常是指你的action里面沒有這個方法,說明已經找到了action 但是沒有找到方法,所以有2個情況,

第1種情況是,你提交到的不是這個action ,查查配置文件,有沒有一樣的path

?

?

第2種情況,你的action里面沒有這個方法

?

?

?

下面是轉載的

?

public class NoSuchMethodException

extends Exception

無法找到某一特定方法時,拋出該異常。

------------------------------------------------------------------------------------------------------------------------

事實上我有特定的方法,為什么struts2報此異常呢?

以下是struts2配置文件片段:

???? <package name="basedate" extends="struts-default" namespace="/basedate">

<!-- 服務商管理-->

??????? <action name="saveOrUpdateBranch" class="branchAction" method="saveOrUpdateBranch">

??????????? <result name="success">/WEB-INF/pages/srvclink/basedate/branch/branch.jsp</result>

??????????? <result name="input">/WEB-INF/pages/srvclink/basedate/branch/branch.jsp</result>

??????? </action>

??????? <action name="editBranch" class="branchAction" method="editBranch">

??????????? <result name="success">/WEB-INF/pages/srvclink/basedate/branch/branch.jsp</result>

??????? </action>

??????? <action name="deleteBranch" class="branchAction" method="deleteBranch">

??????????? <result name="success" type="redirect">saveOrUpdateBranch.action?isNew=true</result>

??????? </action>

??????? <action name="searchBranch" class="branchAction" method="searchBranch">

??????????? <result name="success">/WEB-INF/pages/srvclink/basedate/branch/branch.jsp</result>

?? ?????</action>

?

<!-- 運輸商管理-->

??????? <action name="saveOrUpdateBranch" class="carrierAction" method="saveOrUpdateBranch">

??????????? <result name="success">/WEB-INF/pages/srvclink/basedate/carrier/carrier.jsp</result>

??????? </action>

??????? <action name="editCarrier" class="carrierAction" method="editCarrier">

??????????? <result name="success">/WEB-INF/pages/srvclink/basedate/carrier/carrier.jsp</result>

??????? </action>

??????? <action name="deleteCarrier" class="carrierAction" method="deleteCarrier">

??????????? <result name="success" type="redirect">saveOrUpdateCarrier.action?isNew=true</result>

??????? </action>

??????? <action name="searchCarrier" class="carrierAction" method="searchCarrier">

??????????? <result name="success">/WEB-INF/pages/srvclink/basedate/carrier/carrier.jsp</result>

??????? </action>

??? </package>

?

細心的朋友應該能夠發現,因為復制粘貼惹的禍。導致同一命名空間下存在兩個同名的action定義,這不是關鍵,關鍵問題是,兩個同名action的實例引用是不一樣的,struts2是順序解析配置的action,如果我們請求saveOrUpdateBranch,struts2會在命名空間為/basedate里查找請求的action是否存在,如果存在就調用這個action,如果不存在報異常告訴用戶“在請求的命名空間中找不到指定的action”。這里我們請求的action是存在的,錯就錯在,它是順序解析,即便你第一個action定義無誤,但是它并未調用。它會繼續查找/basedate下的action,當它發現還有一個命名為saveOrUpdateBranch的action時,也是最后一個aciton時,它才調用這個請求的action。但是我們這里最后執行的action的引用又確實不存在。

我們最后定義的這個同名的action的實例是class="carrierAction" 。事實上,實例carrierAction確實沒有"saveOrUpdateBranch"方法,所以struts2就拋出無法找到特定的方法的異常。

粗心大意害死人哦...


摘自 csh624366188的專欄

總結

以上是生活随笔為你收集整理的struts2的java.lang.NoSuchMethodException异常处理的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产无码精品在线播放 | 久久久电影 | 911国产| 国产黄色特级片 | 亚洲www色| 国产精品中文无码 | 精品国产色 | 日韩色视频在线观看 | 午夜成人鲁丝片午夜精品 | 日韩精品成人无码专区免费 | 国产精品视频无码 | 婷婷欧美 | 久久九九精品 | 中文字幕二 | 视色影视 | 美国av导航| 国产网站精品 | 欧美极品少妇xxxxⅹ免费视频 | a级黄色片网站 | 男人的天堂av网 | 国产日产久久高清欧美一区 | 国产精品嫩草69影院 | 欧美性生活免费视频 | 91蝌蚪视频在线观看 | 高清国产mv在线观看 | 色图自拍偷拍 | 免费黄色小视频在线观看 | 亚洲少妇色| 91色精品 | 国产伦精品一区二区三区四区免费 | 可以免费在线观看的av | 久久久久xxxx | 日本艳妇 | 色妞ww精品视频7777 | 天天干干干| 亚洲国产视频一区二区 | 午夜国产精品视频 | 亚洲片在线观看 | 成人午夜高清 | 日日摸夜夜添夜夜添高潮喷水 | 日本公妇乱淫免费视频一区三区 | 日本黄色免费网址 | 国产美女无遮挡免费视频 | 一区二区三区在线观看免费视频 | 97视频入口 | 国产福利在线导航 | 国产精品一区二区免费在线观看 | 国产午夜精品久久久久 | 久久久久久久久久网 | 欧美自拍亚洲 | 久久午夜影院 | 亚洲少妇在线 | 欧美伦理在线观看 | 国产三级av在线播放 | 欧美日韩国产大片 | 久久久久久国产精品 | 91打屁股 | 伊人一道本 | 亚洲暴爽 | 国产一区二区在线免费观看 | 妞妞av | 免费看黄色三级三级 | 91九色精品 | 国产男女猛烈无遮挡a片漫画 | 在线va视频| 亚洲区在线 | 青青青青青青青青草 | 不卡av片| 国产精品swag | 日韩乱码在线 | 69精品视频| 丁香婷婷深情五月亚洲 | 欧美性受xxxx黒人xyx性爽 | 久久国产精品毛片 | 日本午夜大片 | av免费不卡 | 在线免费观看成年人视频 | 狂野欧美性猛交xxxx | 欧美性xxxx | 日韩欧美在线视频观看 | 亚洲少妇自拍 | 97色干 | 日韩国产欧美视频 | 色999在线| av在线影音 | 欧美做受喷浆在线观看 | 男同激情视频 | 樱花动漫无圣光 | 九九视频免费在线观看 | 欧美精品在线一区二区 | 久久久久免费 | 亚洲91在线| 欧美毛片基地 | 黄色一级视频片 | 一区二区成人av | 国产嫩草在线观看 | 最近日本中文字幕 | 欧美大白bbbb与bbbb | 懂色av一区二区在线播放 |