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框或页面加载时。 请帮帮我它根本没有被调用。 –