数据未在struts 2中的select标记中呈现

时间:2013-06-13 10:44:12

标签: java jsp struts2 struts2-jquery

我是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一起使用时,选择它并不会发生任何事情。

1 个答案:

答案 0 :(得分:0)

更改网址和标题
<head>
</head>  

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

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

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

对于此以及进一步的参考,要确保您在战争版本中包含struts2-jquery plugin