Groovy加载到div中

时间:2014-09-18 12:50:01

标签: html css grails

因此尝试在groovy中创建一个相对(我认为)的简单设置,并且缺少几个位。

基本上我正在尝试创建一个包含三个窗格,标题,左侧栏和主窗口的网页。 标题保持原样,左侧疼痛有一个控制器用于生成报告,右侧显示输出。到目前为止一切顺利,但有两个或可能有三个命令或功能我似乎无法掌握,搜索但我使用的搜索热量似乎没什么用处。

所以,首先是主要的.gsp,我怀疑它会加载结构。创建了一个名为calllog的控制器和视图。控制器为空,而index.gsp包含以下内容。

  <meta name='layout' content='call-log'/>
<html>
<head>
<title>Call log</title>
</head>
<body>
    <div id="CallLogo"><H1>Call Logger</H1></div>
    <div id="controller">
    <object type="text/html" data="dbstats/index">

    <g:link controller="dbstats" action="index">This is something</g:link>
    </div>
    <div id="output">Your output here</div>
</body>
</html>

这是我的第一个问题,它似乎不是在创建我期待的div部分,它只是输出它。 其次,似乎没有加载,我也找不到运营商。

布局如下

    <!doctype html>

    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
        <title><g:layoutTitle default="call-log"/></title>
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <asset:stylesheet src="calllog.css"/>
        <asset:javascript src="call-log.js"/>
        <g:layoutHead/>
    </head>
    <body>
        <div class="CallLogo" id="CallLogo" role="banner"><a href="http://www.google.co.uk"><asset:image src="call.png" alt="call.png"/></a></div>
        <g:layoutBody/>
        <div id="controller" class="controller" role="contentinfo"></div>
        <div id="output" class="output" style="display:none;"><g:message code="spinner.alt" default="Loading&hellip;"/></div>
    </body>
</html> 

我遇到的下一个问题可能有相同的答案,我该如何给某个动作打电话(或者回电话)。所以,dbstats控制器将提供一个菜单,一旦你按下提交,它将调用一个存储一些数据的提交类,我想要做的是让窗格返回索引,同时也启动一个进程生成输出到“正文”窗格。

=============更新:向前迈出两步...... ==================== 所以越来越近,设法解决布局和div的问题,也没有帮助我编辑错误的CSS文件。

网页现在看起来像这样

-------------------------------
|             Logo            |
-------------------------------
| Con |          Output       |
| tro |                       |
| lle |                       |
| r   |                       |
|     |                       |
-------------------------------   

我设法更新,以便Controller功能正确加载,并有一个列表和一个提交按钮和所有。

然而,我无法弄清楚的是。一旦按下提交按钮,我已经阅读了我不想的信息(现在有效),我如何将控制器重新加载为控制器=“dbstats”action =“index”进入div控制器并调用一个函数用另一个控制器更新输出,比如controller = generateGraph action = graph。尝试重定向告诉我:

submitform的代码现在看起来像

def submitForm() {
def postIds = params.list('userform').get(0)
for ( e in session.users) {
    session[e] = "False"
}
postIds.each() { postId ->
    if ( postId.value == "1" ) {
        session[postId.key] = "True"
        //render {
            //div(id: "Output", "Will do ${postId.key}<BR>")
        //}>"
    }
    redirect(action: "CallLog")
  }

} 给我的全部是 无法在此处发出重定向(..)。之前对重定向(..)的调用已经重定向了响应.. Stacktrace如下: 消息:无法在此处发出重定向(..)。之前对重定向(..)的调用已经重定向了响应。

很乐意重绘整个页面ID需要。

1 个答案:

答案 0 :(得分:0)

<!doctype html>

    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
        <title><g:layoutTitle default="call-log"/></title>
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <asset:stylesheet src="calllog.css"/>
        <asset:javascript src="call-log.js"/>
        <g:layoutHead/>
    </head>

    <body>
<div id="siteWrapper">
        <div class="CallLogo" id="CallLogo" role="banner"><a href="http://www.google.co.uk"><asset:image src="call.png" alt="call.png"/></a></div>
        <g:layoutBody/>
        <div id="controller" class="controller" role="contentinfo"></div>
        <div id="output" class="output" style="display:none;"><g:message code="spinner.alt" default="Loading&hellip;"/></div>
</div>
    </body>

</html> 

-

  <meta name='layout' content='call-log'/>
<html>
<head>
<title>Call log</title>
</head>
<body>
    <div id="CallLogo"><H1>Call Logger</H1></div>
    <div id="controller">
    <object type="text/html" data="dbstats/index">

    <g:link controller="dbstats" action="index">This is something</g:link>
    </div>
    <div id="output">Your output here</div>

    <a  onclick="<g:remoteFunction controller="Something"  action="SomeAction" id="${yourId }" update="siteWreapper"/>"><b>click to update entire site content within body tags</b><br/>


</body>
</html>

另一种方法是使用javascript get

 $.get("/"+baseapp+"/applications/getOwner?id="+id+"&two="+two,function(data){
                            $('#appOwner').hide().html(data).fadeIn('slow');
                    });

其中appowner是div ID,结果将更新get可以是getJSON

带params的remoteFunction:

<button  id=boxbtn onclick="<g:remoteFunction controller="yourcontroller"  action="br" update="siteContent"  id="${some?.id}"  params="${[s:'e',viewtype:'na']}"/>">some action</button>