JQuery/Jqgrid
のURLパラメータが正しく解決されません。私はサーブレットへのJquery呼び出しを行ったときのバーURLエラー
<!-- language: lang-js -->
var McGuirePortlet = function(nameSpace) {
var servletURL = '<%=renderResponse.encodeURL(renderRequest.getContextPath())%>'+"/roster/grid";
var mThis = $.Portlet.call(this, nameSpace);
mThis.ready = function() {
// this method is called when $(document).ready is called
alert("Coming here");
$("p").click(function() {
$(this).hide();
});
$("#rosterGrid").jqGrid({
url: servletURL,
datatype: 'json',
colNames:['Last Name', 'First Name'],
colModel:[
{name:'lastName',index:'firstName asc', width:55},
{name:'firstName',index:'firstName', width:55}
],
rowNum:10,
rowList:[10,20,30],
pager: '#roster',
sortname: 'lastName',
viewrecords: true,
sortorder: "desc",
caption:"JSON Roster Grid"
});
jQuery("#rosterGrid").jqGrid('navGrid','#roster',{edit:false,add:false,del:false});
};
return mThis;
};
jQuery.registerPortlet(new McGuirePortlet("<portlet:namespace />"));
の下に私のJavaスクリプトファイルを掲示しています。しかしジャバスクリプト内 <%=renderResponse.encodeURL(renderRequest.getContextPath())%>
が正しく解決取得されていないため、URLが変な表示されます。
また、FireBugのjavascriptコンソールでは、応答ウィンドウにはJSONではなくXMLタブが表示されていますが、JSON応答は期待されています。スナップショットを添付して参照してください。
これを解決するために苦労しています。あなたの助けを楽しみにしています。
jspに上記のjsコードを追加しましたが、http:// localhost:8080/McGuirePortlet/roster/grid?_search = false&nd = 1325843369982&rows = 10&page = 1&sidx = lastName&sord = desc'サーブレットマッピング "/ roster/*"を持つサーブレットを持っていても、HTTP 404エラーイベントを返します。 @ResponseBodyを持つバネコントローラで、応答をjson文字列として書き戻します。しかし、なぜそれがうまくいかないのかわからない。 – Arvind
@この継ぎ目は別の問題になると思います。あなたが呼び出したURL、コントローラ、正確な例外メッセージ、およびその件名や珍しいものすべてを含む新しい質問を提起してください。 – Ralph