2013-06-29 16 views
1

我可以使用代碼隱藏插件在Struts2中訪問方法嗎?由於URL中沒有struts.xml文件及其作品爲action!method帶有代碼隱藏插件的Struts2的訪問路徑爲.action?

只是我不知道訪問的方法

請指教。如何在課堂上使用Struts標籤

"@Action(name="action"), <s:url action="action" method="method" /> 

類:

@Action(name = "JSONexample") 
@Result(name="success",type=JSONResult.class,value="",params={"root","List"}) 
public class PartAction extends ActionSupport { 

public String JSONexample{ 
----- 
return SUCCESS; 
} 

public String readxml { } 
} 

如果我訪問下面的方法上提交按鈕點擊,我會得到JSON數據?

$.getJSON('ajax/sayHi.action', formInput,function(data) 

所以我可以訪問URL中的動作爲localhost:7001/Sample/JSONmethod.action獲取JSON數據?

+1

不推薦使用codebehind插件;請考慮使用慣例或休息。 –

回答

1

只要代碼隱藏插件不支持您需要使用約定插件的方法的操作,然後使用約定註釋@Action您想成爲您的操作的方法,那麼你不需要!顯式映射。如果您繼續使用代碼隱藏插件,那麼您必須使用動態操作調用(DMI)來調用映射到您的操作以外的方法。另一次必須重新讀取您的問題,您似乎想要訪問未映射到execute以外的方法的操作:1.它不受代碼隱藏插件的支持; 2.您尚未通過struts.xml進行映射。在這種情況下,答案是 - 不,你不能。但您始終可以使用execute方法!如果繼續使用DMI,請使用s:url標記來構造url並使用method屬性。

+0

感謝您的回覆。什麼是@Action的名稱屬性?像@Action(name =「」)? – user2444474

+0

像'@Action(name =「action」),' –

+0

好的,請嘗試轉換。在代碼隱藏方面非常努力。最後一個問題,所以沒有辦法訪問「$ .getJSON('ajax/sayHi.action',formInput,function(data)」這樣的方法更新問題部分 – user2444474