﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-Enjoy yourself,and don't care about others' thinking!-随笔分类-Grails</title><link>http://www.blogjava.net/TiGERTiAN/category/43929.html</link><description>----TiGERTiAN</description><language>zh-cn</language><lastBuildDate>Tue, 09 Feb 2010 09:10:53 GMT</lastBuildDate><pubDate>Tue, 09 Feb 2010 09:10:53 GMT</pubDate><ttl>60</ttl><item><title>Grails控件必填验证和提示</title><link>http://www.blogjava.net/TiGERTiAN/archive/2010/02/08/312343.html</link><dc:creator>TiGERTiAN</dc:creator><author>TiGERTiAN</author><pubDate>Mon, 08 Feb 2010 09:04:00 GMT</pubDate><guid>http://www.blogjava.net/TiGERTiAN/archive/2010/02/08/312343.html</guid><wfw:comment>http://www.blogjava.net/TiGERTiAN/comments/312343.html</wfw:comment><comments>http://www.blogjava.net/TiGERTiAN/archive/2010/02/08/312343.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/TiGERTiAN/comments/commentRss/312343.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/TiGERTiAN/services/trackbacks/312343.html</trackback:ping><description><![CDATA[1、领域模型中需要加入必填的字段名称，如下：<br />
<div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><img id="Codehighlighter1_11_123_Open_Image" onclick="this.style.display='none'; Codehighlighter1_11_123_Open_Text.style.display='none'; Codehighlighter1_11_123_Closed_Image.style.display='inline'; Codehighlighter1_11_123_Closed_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif"  alt="" /><img style="display: none" id="Codehighlighter1_11_123_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_11_123_Closed_Text.style.display='none'; Codehighlighter1_11_123_Open_Image.style.display='inline'; Codehighlighter1_11_123_Open_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif"  alt="" /><span style="color: #0000ff">class</span><span style="color: #000000">&nbsp;News&nbsp;</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_11_123_Closed_Text"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_11_123_Open_Text"><span style="color: #000000">{<br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" /><br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">int</span><span style="color: #000000">&nbsp;id;<br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;title;<br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;content;<br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" /><br />
<img id="Codehighlighter1_90_121_Open_Image" onclick="this.style.display='none'; Codehighlighter1_90_121_Open_Text.style.display='none'; Codehighlighter1_90_121_Closed_Image.style.display='inline'; Codehighlighter1_90_121_Closed_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif"  alt="" /><img style="display: none" id="Codehighlighter1_90_121_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_90_121_Closed_Text.style.display='none'; Codehighlighter1_90_121_Open_Image.style.display='inline'; Codehighlighter1_90_121_Open_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">static</span><span style="color: #000000">&nbsp;constraints&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_90_121_Closed_Text"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_90_121_Open_Text"><span style="color: #000000">{<br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;title(blank:</span><span style="color: #0000ff">false</span><span style="color: #000000">)<br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif"  alt="" />}</span></span></div>
<p>title(blank:false)，表示该字段不可为空<br />
2、在message属性中，定义该字段为空时候的提示，格式是<span style="color: red">领域包名.领域模型类名称.属性名称.限制属性名称=提示信息<br />
</span>例：cn.tigertian.grails.domain.News.title.blank=请填写标题<br />
3、在页面上加入如下代码：</p>
<div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" /><span style="color: #000000">&lt;</span><span style="color: #000000">g:message&nbsp;code</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">default.create.label</span><span style="color: #000000">"</span><span style="color: #000000">&nbsp;args</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">[entityName]</span><span style="color: #000000">"</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">/&gt;&lt;/</span><span style="color: #000000">h1</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">g:</span><span style="color: #0000ff">if</span><span style="color: #000000">&nbsp;test</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">${flash.message}</span><span style="color: #000000">"</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br />
<img id="Codehighlighter1_144_158_Open_Image" onclick="this.style.display='none'; Codehighlighter1_144_158_Open_Text.style.display='none'; Codehighlighter1_144_158_Closed_Image.style.display='inline'; Codehighlighter1_144_158_Closed_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif"  alt="" /><img style="display: none" id="Codehighlighter1_144_158_Closed_Image" onclick="this.style.display='none'; Codehighlighter1_144_158_Closed_Text.style.display='none'; Codehighlighter1_144_158_Open_Image.style.display='inline'; Codehighlighter1_144_158_Open_Text.style.display='inline';" align="top" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">div&nbsp;</span><span style="color: #0000ff">class</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">message</span><span style="color: #000000">"</span><span style="color: #000000">&gt;</span><span style="color: #000000">$</span><span style="border-bottom: #808080 1px solid; border-left: #808080 1px solid; background-color: #ffffff; display: none; border-top: #808080 1px solid; border-right: #808080 1px solid" id="Codehighlighter1_144_158_Closed_Text"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_144_158_Open_Text"><span style="color: #000000">{flash.message}</span></span><span style="color: #000000">&lt;/</span><span style="color: #000000">div</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">&lt;/</span><span style="color: #000000">g:</span><span style="color: #0000ff">if</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">g:hasErrors&nbsp;bean</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">${instance}</span><span style="color: #000000">"</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">div&nbsp;</span><span style="color: #0000ff">class</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">errors</span><span style="color: #000000">"</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">g:renderErrors&nbsp;bean</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">${instance}</span><span style="color: #000000">"</span><span style="color: #000000">&nbsp;as</span><span style="color: #000000">=</span><span style="color: #000000">"</span><span style="color: #000000">list</span><span style="color: #000000">"</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">/&gt;</span><span style="color: #000000"><br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">&lt;/</span><span style="color: #000000">div</span><span style="color: #000000">&gt;</span><span style="color: #000000"><br />
<img align="top" src="http://www.blogjava.net/images/OutliningIndicators/None.gif"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #000000">&lt;/</span><span style="color: #000000">g:hasErrors</span><span style="color: #000000">&gt;</span></div>
则在有错误信息的时候就会提示了
 <img src ="http://www.blogjava.net/TiGERTiAN/aggbug/312343.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/TiGERTiAN/" target="_blank">TiGERTiAN</a> 2010-02-08 17:04 <a href="http://www.blogjava.net/TiGERTiAN/archive/2010/02/08/312343.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Grails使用JNDI方法</title><link>http://www.blogjava.net/TiGERTiAN/archive/2010/02/08/312333.html</link><dc:creator>TiGERTiAN</dc:creator><author>TiGERTiAN</author><pubDate>Mon, 08 Feb 2010 07:28:00 GMT</pubDate><guid>http://www.blogjava.net/TiGERTiAN/archive/2010/02/08/312333.html</guid><wfw:comment>http://www.blogjava.net/TiGERTiAN/comments/312333.html</wfw:comment><comments>http://www.blogjava.net/TiGERTiAN/archive/2010/02/08/312333.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/TiGERTiAN/comments/commentRss/312333.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/TiGERTiAN/services/trackbacks/312333.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 今天搞了一下Grails的JNDI配置，步骤如下&nbsp;&nbsp;<a href='http://www.blogjava.net/TiGERTiAN/archive/2010/02/08/312333.html'>阅读全文</a><img src ="http://www.blogjava.net/TiGERTiAN/aggbug/312333.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/TiGERTiAN/" target="_blank">TiGERTiAN</a> 2010-02-08 15:28 <a href="http://www.blogjava.net/TiGERTiAN/archive/2010/02/08/312333.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>