1
我已閱讀了很多關於此主題的文章&知道它應該如何工作,但無論如何我都不能成功運行代碼。Autocompleter Struts 2 jQuery
以下代碼正在運行,但未加載JSONObject
。
這裏是我的x.jsp
:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<%@taglib uri="/struts-dojo-tags" prefix="sx"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<sx:head />
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Auto complete example</title>
</head>
<body bgcolor="lightblue">
<h2>Welcome to India</h2>
<s:url id="optionsUrl" action="g" />
<sx:autocompleter href="%{#optionsUrl}" loadOnTextChange="true"
loadMinimumCount="3" value="Florida" keyValue="FL" />
</body>
</html>
這裏是struts.xml
:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<constant name="struts.devMode" value="true" />
<package name="default" namespace="/" extends="json-default">
<action name="g" class="com.AutoCompleter">
<result type='json'>
<param name="root">options</param>
</result>
</action>
</package>
</struts>
這裏是我的Action類:
package com;
import java.util.HashMap;
import java.util.Map;
import com.opensymphony.xwork2.ActionSupport;
public class AutoCompleter extends ActionSupport {
public Map<String, String> getOptions() {
System.out.println("Hello");
Map<String,String> options = new HashMap<String,String>();
options.put("Florida", "FL");
options.put("Alabama", "AL");
return options;
}
}
我照你說的,但現在它給 當我添加一行
\t你好 // *****這被添加 \t 當點擊你好 消息:\t 沒有爲命名空間/和動作名稱g映射的動作。 –
在這個主題上,我有大約100個答案,沒有人接受。請參閱http://stackoverflow.com/a/16043066/573032 –
何時調用操作?就像我點擊autocompleter框或頁面加載時。 請幫幫我它根本沒有被調用。 –