我编写了一些代码来检查用户是否以管理员身份登录,以限制谁可以更改其他用户的权限,但if标记永远不会成立.我已经通过回应它确保了正确的数据,但到目前为止我找到的任何东西都没有给我一个解决方案.
<g:if test="${session.userPermissions == 'Administrator'}">
<g:select id="permissions" name="permissions" from="${userInstance.constraints.permissions.inList}" value="${userInstance.permissions}" ></g:select>
</g:if>
<g:else>
${userInstance.permissions}
</g:else>
Run Code Online (Sandbox Code Playgroud) 我目前在我的应用程序中的单个项目中代表我的业务层和数据层.我对两组课程之间的关注点有很好的分离.但是,我的数据层类作为参数并返回我的业务对象.因此,我将拥有松散类似的代码(请不要过于批评此代码,我的生产代码看起来不像这样):
//business class fragment
public bool Save()
{
if(this.IsValid)
{
//DataProvider is one of many data access classes that implement an IDataProvider interface. Switched elsewhere in the class. This allows switching of Database providers, xml, etc.
DataProvider.Save(this);
return true;
}
return false;
}
public List<MyBusinessObject> GetObjectsByCriteria(string criteria)
{
return DataProvider.GetMyBusinessObjectsByCriteria(criteria);
}
Run Code Online (Sandbox Code Playgroud)
我不希望我的业务类必须处理DataSet,而不是让我的数据层类处理Business Classes.
我已经在数据访问对象或数据传输对象上阅读了很多内容以解决这个问题,但这似乎是这些模式的反模式案例.
我能做什么?如何优雅地完成我的应用程序这两层的完全分离?
while (list($task_id, $parent_id, $task) = mysqli_fetch_array($r, MYSQLI_NUM))
Run Code Online (Sandbox Code Playgroud) 我有一些标签.
http://img196.imageshack.us/img196/7167/tabs.gif
我想添加翻转效果.问题是,标签相互重叠,因此没有好的地方可以将它们分开.我应该使用绝对定位和PNG来堆叠它们,还是有更优雅的解决方案?
我如何知道PHP是否使用SQLite支持进行编译?如果不是,并且我没有更改权限,除了访问php-sqlite3函数之外,还有什么其他方法可以读取SQLite数据库?
我正在尝试更多地了解WPF,我已经阅读了一些关于Model-View-ViewModel(MVVM)的内容,但如果我要创建一个WPF应用程序,我想我仍然会按照习惯做事,就像我一样在winforms做了.根据我的理解,最终将我编入角落.
因此,对我来说,学习"正确"方法的一种方法是比较和对比现有的,简单的winforms应用程序,它也是(正确地)在wpf中实现的.
我不是在寻找任何复杂的东西,也许只是几种形式和一些控件.有没有人知道这样的简单例子?
我正在为我们的构建系统编写一些工具,以对属于包含某些注释的类的方法强制执行一些严格的调用约定.
我正在使用编译器树API ...
我想知道的是当遍历'tree'时,你怎么能告诉MethodInvocation的类/接口的类型.
我将TreePathScanner子类化为:
@Override
public Object visitMethodInvocation(MethodInvocationTree node, Trees trees) {
}
Run Code Online (Sandbox Code Playgroud)
我希望有一种方法可以告诉您尝试调用该方法的类(或接口)的类型.我是以错误的方式来做这件事的吗?谢谢你的任何想法......
今天在Proggit上,我正在阅读一篇题为" 为什么单位测试是浪费时间 " 的提交评论帖.
我并不是真正关心这篇文章的前提,而是关于它的评论:
问题的根源在于商业软件项目中的大多数代码"单位"都是微不足道的.
更改单位的大小,直到它不再是微不足道的?无论如何,谁将代码单元定义为单个函数或方法!
和
好吧,我合作的一些人想要将一个单元定义为单个功能.这完全是愚蠢的.我最喜欢的"单元"定义是:可以有效测试的最小代码片段.
我们是否花了太多时间来模拟一些对象并测试一些简单的代码并没有真正添加任何有价值的东西?
单元测试时"单位"应该是什么?功能级别测试是否过于细化?
可能重复:
如何有效地迭代"地图"中的每个条目?
迭代一个项目的最佳方法是HashMap什么?
我编写了一个查询来查找基于当前id的标签的类似id,就像amazons一样,你也想要.问题是,在我的示例中,我想从此搜索中排除bookid 30.
这是我的查询:
注意:$ similar基本上是一个字符串,里面填充了一些带有一些"喜欢%item%或"的标签
$query = "SELECT * FROM books
WHERE bookid !=30
AND {$similar}
AND visible ='1'
AND level ='2'
LIMIT 3";
Run Code Online (Sandbox Code Playgroud)
不工作的部分是bookid!=我试过IS NOT,<>重新排序以及我能找到的其他东西.此查询仍然可以输出三行但仍包含bookid 30
有人可以解释这里发生了什么吗?我的查询变得过于复杂,需要重组吗?
我提出的糟糕的替代方案是将限制4个项目发送到while循环以获取每一行并排除我不需要的bookid.当我知道可以在查询中完成时,这似乎毫无意义.
我通过重建我的查询和$类似字符串之前修复此问题
SELECT * FROM books WHERE bookid !=30 AND tags LIKE '%one%' OR tags LIKE '% two%' OR tags LIKE '% three%' AND visible ='1' AND level ='2' LIMIT 3
Run Code Online (Sandbox Code Playgroud)
后
SELECT * FROM books WHERE bookid !=30 AND (bookid!=30 AND tags LIKE '%one%') OR (bookid!=30 AND tags LIKE '% two%') …Run Code Online (Sandbox Code Playgroud)