在struts2中更改jquery网格主题(ui.jqgrid.css位置)

时间:2012-01-05 10:58:33

标签: jquery jquery-ui jquery-plugins jqgrid struts2

我的网页上有一个jquery网格组件。我想更改它使用的css文件。我在jj:head标签中设置它:

<sj:head jqueryui="true" jquerytheme="custom-theme" customBasepath="css"/>

我在网页上看到了这个html标签:

<link type="text/css" href="css/custom-theme/jquery-ui.css" rel="stylesheet" id="jquery_theme_link">

jquery-grid组件的样式文件路径是

<link rel="stylesheet" type="text/css" href="/appname/struts/themes/ui.jqgrid.css">

我希望这条路是这样的:

<link rel="stylesheet" type="text/css" href="css/custom-theme/ui.jqgrid.css">

我在哪里可以设置struts jquery grid css文件位置?

2 个答案:

答案 0 :(得分:1)

我遇到了同样的问题,解决方案是在网格加载完成后覆盖css。

<sjg:grid 
    ...
    onCompleteTopics="loadCustomCss"
    ...
/>

然后在你的jsp中

<script>
    $.subscribe('loadCustomCss', function(event,data){
         $('head').append( $('<link rel="stylesheet" type="text/css" />').attr('href', '../css/grid.css') );
    });
</script>

如果grid.css是你的自定义css,你可以复制插件提供的css,这在你把它作为Maven依赖加载时特别有用。

答案 1 :(得分:1)

你可以这样做:

<sjg:grid ... onGridCompleteTopics="myCssLoaderTopic" ....> 

然后在您的主题中

<script>
    $.subscribe('loadCustomCss', function(event,data){            
        $.struts2-jquery.requireCss(cssFile, basePath); 
    });
</script>

请参阅:https://groups.google.com/forum/#!topic/struts2-jquery/Aurqeuwhiuo