问题标签 [gsp]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
grails - Grails Render Template Different Controller/Path
I have a template that exists under views/dashboard/_myTemplate.gsp and from the DashboardController I can simply call
and all is well. I have a need to render this template from a different controller but the render method doesn't allow you to specify a controller and I can't seem to figure out how to define the path at which the template exists for the render to work correctly. Is this even possible?
grails - Grails/GSP:突破
有没有办法摆脱 <g:each> ?我有一个页面,其中我正在遍历一个列表,如果这是存储在 DB 中的值,我必须确保选中一个复选框。
为了使它更清楚一点,请考虑以下内容:
其中 list1 是 Domain1.list() (即所有可能的值),而 list2 是 Domain2.find(...) (即 SELECTED 值)
在 g:each 中,我需要使用复选框显示 list1 的所有内容(因此,内部每个后的“...”)但我需要确保 list2 中的那些(用户选择的项目已保存到 DB ) 应进行相应检查(if 语句)。
现在,如果在第一次迭代中检查状态发生了变化,我需要离开内部每个......有什么方法可以做到这一点?
谢谢!
tomcat - GSP 的 Grails 编码问题
我在使用 utf-8 字符未正确显示而是显示为“?”的 groovy 服务器页面 (gsp) 时遇到问题。这发生在像“${}”这样的 grails 标签中。
例子:
gsp 已经在 UTF-8 中。我的 grails 版本是 1.2 M3,在 localhost 中,字符显示正常,但在服务器(tomcat)中却不是。
以为是版本问题,我升级到 1.3.3,问题仍然存在,但现在也在 localhost 上。
grails - 圣杯重定向到 GSP 而不是操作
我在控制器“X”上创建了一个名为“updateWithHistory”的新操作,类似于更新。当我从脚手架的 edit.gsp 页面使用此代码时:
<span class="button"><g:actionSubmit class="save" action="updateWithHistory" value="${message(code: 'default.button.updateWithHistory.label', default: 'Persist')}" /></span>
我收到 404 错误:
The requested resource (/GPECAN/WEB-INF/grails-app/views/X/updateWithHistory.jsp) is not available.
我不知道为什么 Grails 正在寻找视图而不是操作。我不需要该操作的视图,因为它重定向到现有操作(列表、编辑等)。
像“更新”这样的默认脚手架操作不会发生这种情况。有任何想法吗?
(当然,如果我创建一个名为“updateWithHistory.gsp”的视图,则会显示该视图,但该操作永远不会执行......我很绝望)
grails - Grails 自定义服务器页面(自定义 gsp)
我有一个控制器和一个 gsp。我继续尝试构建项目,但在我的 gsp 上收到问题。
它告诉我“当前范围已经包含一个名为它的变量”
我不能那样使用“它”吗?或者有什么明显的我想念的吗?
grails - grails + 获取 g:each 中的下一个值
我有一个这样的复选框列表:
我必须改变它,所以每行有 2 列(每行 2 个复选框)
我不想为此写一个标签,而且 scriptlet 选项看起来不太好。
有什么grailsy解决方案吗?
提前致谢
groovy - Grails 动作被调用两次。帮助!
我正在编写一个 grails 应用程序并遇到了一个奇怪的问题。单击页面上的提交按钮时,相关的操作会快速连续调用两次。这导致一切都可怕地破裂。有没有其他人见过这个问题?下面是我的代码:
从普惠制页面:
从控制器:
输出:
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
1994 年 9 月 17 日星期六 00:00:00 EDT
时间 1284757543744
******************************
!!!!!!!!!! !!!!!!!!!!!!!!!!!!
空
时间 1284757544091
******************************
2010-09-17 17:05:44,100 [http-8080-2] ERROR 错误.GrailsExceptionResolver - null
java.lang.NullPointerException
您可以看到该操作在第一次调用后的几毫秒内被调用了两次。系统失败,因为在第二次调用时,日期对象为空。有任何想法吗?谢谢!
grails - 如何间接引用 grails GSP 模型变量,例如通过 .get(...)
我正在使用 GSP 基于 MailService 插件发送电子邮件。sendMail 闭包通过(以及其他)body(view:..., model:myModel)
我知道我可以访问仅${itemName}
在 GSP 中使用的 myModel Map 的每个项目。但是,由于我有时想动态地构建项目名称'item'+i
,所以我需要一些周边方法来访问变量。
我已经尝试过${model.get('item'+i)
, 和${params.get('item'+i)
, 但是 model 是 null 并且 params 是一个空的 Map。我也尝试了 pageScope,但是虽然我可以通过 访问项目,但${pageScope.itemName
我不能使用${pageScope.get('item'+i)}
,因为 pageScope 不是 Map。
可能有多种解决方案可以解决此问题;我会很高兴有一个简单的;-)。我看到的一种解决方案是将 myModel 作为唯一参数传递,然后始终使用myModel.get(...)
,但这意味着我必须将所有现有的 GSP 更改为始终引用 myModel 而不是直接访问项目(具有固定名称);所以如果有一种方法我不必更改传递给 GSP 的模型,这将是我最喜欢的。
如果有人也可以在这种情况下就模型和参数的区别说几句话,这将另外有帮助!
jquery - Grails 干扰 jquery-tmpl 语法
jQuery 模板插件使用${foo}
语法(jquery.tmpl doc 中的示例):
但 Grails 也使用它(Grails 文档中的示例):
因此,当我将其包含$.tmpl( "<li>${Name}</li>", myData )
在我的 .gsp 中时,Grails 会将其呈现为 .gsp $.tmpl( "<li></li>", myData );
。
有没有简单的方法解决这个问题?
javascript - 如何从 JavaScript 和 Grails 访问变量?
我有一个Grails变量,它是在模板中呈现的 JASONList 类型。
有没有办法从 JavaScript 函数内部访问这个列表?
假设我想要 onresize 以适应屏幕上的所有对象。无需进行数据库调用并从 Ajax 重新获取整个列表...
假设模板执行以下操作:
问题在于,出于某种原因,Grails gsp 不会将“${reportList}”呈现为列表。相反,它将其呈现为字符串“${reportList}”。
我可能认为这个问题完全错误,但是有没有办法调整这些对象的大小或通过 document.getElementById 或类似的东西来获取它们?
$reportList 由POJO填充为 JSON 转换...