1

私は Struts 2 を初めて使用し、Struts アプリケーションに jQuery を追加したいと考えていますが、問題が発生しています。多くのことを行いましたが、何も見つかりません。

Struts jQuery select タグを実装したいのですが、いくつか問題があります。ここに私のコードがあります

struts.xml:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
    <constant name="struts.enable.DynamicMethodInvocation" value="false" />
    <constant name="struts.devMode" value="false" />

    <package extends="struts-default,json-default" name="default" namespace="/">           
            <action class="org.actions.JsonS" name="jsondata" >
                <result type="json" />
            </action>         
    </package>
</struts>

welcome.jsp:

<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<%@ taglib prefix="sj" uri="/struts-jquery-tags"%> 

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
  </head>  
  <body>
    <s:url var="remoteurl" action="jsondata.action" />
    <sj:select href="%{remoteurl}" id="mylist" list="nolist" name="mylist" />
  </body>
</html>

JsonS.java:

package org.actions;

import java.util.ArrayList;
import java.util.List;

import com.opensymphony.xwork2.ActionSupport;

public class JsonS {
         private List<String> nolist;
         
         public String execute() {
             nolist = new ArrayList<String>();
             nolist.add("one");
             return ActionSupport.SUCCESS;
         }
         
         public String getJSON() {
             return execute();
         }

        public List<String> getNolist() {
            return nolist;
        }
}

JSON応答を手動でチェックすると、すべて正常に機能します。私はこの応答を得ています。

{"JSON":"success","nolist":["one"]}

しかし、Struts jQuery select で使用したい場合、何も起こりません。

4

1 に答える 1

0

からの URL とヘッダーを変更します。

<head>
</head>  

<s:url var="remoteurl" action="jsondata.action" />

<head>
  <sj:head/>
</head>  

<s:url var="remoteurl" namespace="/" action="jsondata" />

これとさらなる参照については、機能するために、war ビルドにstruts2-jquery プラグインが含まれていることを確認してください。

于 2013-06-13T11:00:08.010 に答える