使用struts 2 jquery树插件时,CSS无法正确加载

时间:2013-02-05 12:30:54

标签: struts2 struts2-jquery-plugin

我正在使用struts2 jquery树插件来显示div中的树。 问题是树的CSS或我的JSP页面的CSS无法正确加载。

我尝试更改脚本加载的顺序,现在我可以看到JSP上的所有CSS都是必需的,但树没有加载适当的CSS。

截至目前,我已将jqueryui="true"设置为<sj:head>

<sj:head jqueryui="true"  />    
<script src="http://code.jquery.com/mobile/1.2.0/jquery.mobile-1.2.0.min.js"></script>       
<script type="text/javascript" src="http://jzaefferer.github.com/jquery-validation/jquery.validate.js"></script>
<script type="text/javascript" src="scripts/myscript.js" ></script>

<link rel="stylesheet" href="http://code.jquery.com/mobile/1.2.0/jquery.mobile.structure-1.2.0.min.css" />
<link rel="stylesheet" href="themes/Test.css" />
<link rel="stylesheet" href="themes/Custom.css" />
<link rel="stylesheet" href="css/styles.css" />
<script>

$.subscribe('treeClicked', function(event, data) {
      var item = event.originalEvent.data.rslt.obj;
      alert('Clicked ID : ' + item.attr("id") + ' - Text ' + item.text());
});
</script>
<body>
     <s:url var="treeDataUrl" action="GetData"/>
                            <sjt:tree 
                                    id="jsonTree" 
                                    href="%{treeDataUrl}"
                                    onClickTopics="treeClicked" 
                                    jstreetheme="default"
                            />
</body>

注意:我需要在代码中包含我提到的所有CSS文件。它们对我的UI来说是必要的

2 个答案:

答案 0 :(得分:0)

我收集你的问题:
1. jquery-ui-theme的属性应为jstreethemeNOT theme
2.页面加载时不会调用您的脚本!将其更改为:

$(function(){
    alert("ECHO..."); // check if script called on page load
    $.subscribe('treeClicked', function(event, data) {
        var item = event.originalEvent.data.rslt.obj;
        alert('Clicked ID : ' + item.attr("id") + ' - Text ' + item.text());
    });
});

答案 1 :(得分:0)

现在,我正在用jquery struts2做我的项目。 我点击树节点时可以调用我的javascript方法,所以我想分享一下我的经验。

请将此内容写入sjt树标记

  

onClickTopics = “treeClicked”

然后写入脚本标记

$(function(){
$.subscribe('treeClicked', function (event, data){
        // check if script called on page load
        alert("treeClicked");
        //Get the next item, this is the tree node object is selected, many operations need it
        var item = event.originalEvent.data.rslt.obj;
        //Other code written here
        //For example, we want to select the node id suggest, you can write like this
        alert ('Clicked ID : ' + item.attr ("id"));
});
});

我希望我的回答会对你有帮助。