简单的问题.我需要在GWT中发出重定向到新页面的GET请求,但我找不到合适的API.
有吗?我应该自己简单地形成URL然后做Window.Location.replace?
(原因是我希望我的搜索页面可以链接)
谢谢.
(抱歉没有让我的问题清楚,最初)
我有一张叫做Point的桌子.该表有两列我们将处理,ActualDepth和DesignDepth.当有人更新ActualDepth时,我有一个触发器会重新计算更新后的所有其他点的DesignDepths.
那么我的问题是,我的触发器是否会被递归调用,因为同一个表中的其他行已经更新了?或者,更新发生在触发器中的事实是否足以阻止它.这是我想要的行为.
我一直试图找到一些关于此的直截了当的信息,但是我无法 - 或者我发现的一直是模糊的让我理解正在发生的事情,或者对于错误的事情来说太具体了,例如我找到了一个单元测试AuthorizeAttribute的教程.(第三种选择当然是我太笨了,没有意识到我正在阅读我正在寻找的信息......在这种情况下我仍然需要帮助,因为我很笨:P)
我希望能够测试两件事:
而且我很无能为力.谁能让我朝着正确的方向推动我真正需要测试的东西?我的安排,行动和断言部分应包含哪些内容?
一点点细节,如果我不够清楚:
我有一个CustomValidationFilter
应该检查两个提交的表单值是否相同,ModelStateError
如果没有则添加一个.我想验证所加入的错误与正确的错误消息,如果值是不一样的,那就是错误不如果值增加是相等的(且非空).
我也有一个Write
动作GuestbookController
.我想验证过滤器是否已应用于此操作.
在GridBagLayout中,哪个组件最适合在面板中提供空白区域?理想情况下,我想使用具有以下内容的组件:
JPanel违反了上述#2.Box需要一个构造函数参数(上面的#3),在这个简单的例子中,这实际上是不必要的.JLabel运行良好,但我担心它可能会有一些开销,但不可否认它可能很低.
匿名类似乎也运行良好(即"new JComponent(){}"),但每次使用它时都会添加一个额外的.class文件.我认为它不会比任何给定的事件处理程序更多开销.是否值得为此创建一个从JComponent派生的自定义零实现组件?是否存在我遗漏的现有组件?
FYI GridBagLayout是我所参与的团队的约束之一,因此其他布局不是一个选项.
我有以下两个表:
system
- id
- systemName
- idOrganization
organization
- id
- officeSymbol
Run Code Online (Sandbox Code Playgroud)
我正在运行以下查询并收到一个id
模糊的错误:
SELECT system.systemName, organization.officeSymbol
FROM system
LEFT JOIN (organization)
ON (system.idOrganization = organization.id)
Run Code Online (Sandbox Code Playgroud)
如您所见,我没有选择该id
列.如果我放在system.id
要选择的字段列表中,我将不再收到此错误.不幸的是,处理这些数据的方式我无法返回id
- 我们不希望它显示给用户.
此外,如果我添加GROUP BY system.systemName
我不再得到错误 - 但这似乎不是最佳解决方案.
注意:这LEFT JOIN
是故意的,因为并非所有系统都将分配给组织.
SELECT VERSION()
--> 5.0.77-community-log
CREATE TABLE system (
`id` INT(11) NOT NULL AUTO_INCREMENT,
`systemName` VARCHAR(45) DEFAULT NULL,
`idOrganization` INT(11) DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `fk_system_organization` (`idOrganization`),
CONSTRAINT `fk_system_organization`
FOREIGN KEY (`idOrganization`)
REFERENCES …
Run Code Online (Sandbox Code Playgroud) 据我所知,没有不安全的项目---当我使用IE7或FireFox 3浏览网站时,我没有得到任何此类警告,但如果我使用IE6访问该网站,我会收到安全信息对话框"此页面包含安全和非安全项目您是否要显示非安全项目?"
如何查找该消息的原因?
更新3(首先阅读):
是的,这是由对象"配置文件"未保存引起的.对于那些得到相同症状的人来说,道德是"如果一个ForeignKey字段似乎在为它分配一个真实对象时被设置为无,那可能是因为其他对象尚未被保存."
即使您100%确定它已保存,再次检查;-)
嗨,
我在Django的类中使用content_type/generic外键.
创建类实例的行大致如下:
tag = SecurityTag(name='name',agent=an_agent,resource=a_resource,interface=an_interface)
Run Code Online (Sandbox Code Playgroud)
代理和资源都是content_type字段.
大多数情况下,这可以按照我的预期工作并创建适当的对象.但我有一个特定的情况,我称这行为创建一个SecurityTag,但代理字段的值似乎最终为无.
现在,在这种特殊情况下,我在前一行中测试an_agent的值确实包含代理类型的现有的,已保存的Django.model对象.确实如此.
然而,生成的SecurityTag记录在此字段中显示为None.
我对此非常困惑.我猜这个沿线的某个地方,ORM尝试在an_agent中提取对象的id失败了,但是没有引发错误消息或异常.我已经检查过an_agent对象已保存并且在其id字段中有一个值.
有人见过这样的东西吗?还是有什么想法?
====
更新:10天后,在新环境中再次咬同样的错误:
这里有一些描述"安全标记"对象的代码,它基本上是一个映射
a)某种权限角色(在我们的系统中称为"代理"),它是一种通用的content_type,
b)资源,也是一个通用的content_type,(并且在当前的问题中给出了Pinax"Profile"),
和c)"接口"(基本上是一种访问类型......例如"可查看"或"可编辑",只是一个字符串)
class SecurityTag(models.Model) :
name = models.CharField(max_length='50')
agent_content_type = models.ForeignKey(ContentType,related_name='security_tag_agent')
agent_object_id = models.PositiveIntegerField()
agent = generic.GenericForeignKey('agent_content_type', 'agent_object_id')
interface = models.CharField(max_length='50')
resource_content_type = models.ForeignKey(ContentType,related_name='security_tag_resource')
resource_object_id = models.PositiveIntegerField()
resource = generic.GenericForeignKey('resource_content_type', 'resource_object_id')
Run Code Online (Sandbox Code Playgroud)
在特定时刻,我这样做:
print "before %s, %s" % (self.resource,self.agent)
t = SecurityTag(name=self.tag_name,agent=self.agent,resource=self.resource,interface=self.interface_id)
print "after %s, %s, %s, %s" % (t.resource,t.resource_content_type,type(t.resource),t.resource_object_id)
Run Code Online (Sandbox Code Playgroud)
其结果是之前,"资源"变量确实引用了一个配置文件,但之后......
before phil, TgGroup object
after None, profile, <type …
Run Code Online (Sandbox Code Playgroud) 所以我已经完成了一些单元测试,并且有编写测试的经验,但我还没有完全接受TDD作为设计工具.
我目前的项目是重新使用现有系统,该系统生成序列号作为公司装配过程的一部分.由于查看现有系统,我了解当前的流程和工作流程.我还有一个新要求列表以及它们将如何修改工作流程.
我觉得我已经准备好开始编写程序了,我决定强迫自己最终从头到尾做TDD.
但现在我不知道从哪里开始.(我也想知道我是否因为已经知道用户的程序流程而欺骗TDD流程.)
用户流程实际上是串行的,只是一系列步骤.举个例子,第一步是:
当用户选择其中一个部件号时,下一步开始.
所以我想我可以用这第一步作为起点.我知道我需要一段代码来获取制造订单号并返回零件号列表.
// This isn't what I'd want my code to end up looking like
// but it is the simplest statement of what I want
IList<string> partNumbers = GetPartNumbersForMfgOrder(string mfgOrder);
Run Code Online (Sandbox Code Playgroud)
阅读Kent Becks的示例书,他谈到了选择小测试.这看起来像一个非常大的黑盒子.它将需要一个mfg订单存储库,我必须抓取产品结构树以查找此mfg订单的所有适用的部件号,我甚至根本没有在代码中定义我的域模型.
所以一方面看起来像一个糟糕的开始 - 一个非常普遍的高级功能.另一方面,我觉得如果我从较低的水平开始,我真的只是猜测我可能需要什么,这似乎是反TDD.
作为旁注......这就是你如何使用故事?
作为汇编程序,我想获得一个mfg订单上的部件号列表,以便我可以选择要序列化的部件号
说实话,汇编人永远不会这么说.所有汇编程序想要的是完成对mfg命令的操作:
作为汇编程序,我想用序列号标记部件,以便我可以完成对mfg订单的操作
我们有一张地方表.在我们的表中可能会多次出现相同的地方(糟糕的设计,而不是我们的选择).我们有人经历并找到每个地方的地址.他们只更新了每个地方的众多实例中的一个.
这是一个不起作用的查询,但我认为显示了我想要做的事情.
update places set address1 = places2.address1
inner join places places2 ON places.placename = places2.placename
where (places2.address1 <> '' AND places2.address1 is not null)
Run Code Online (Sandbox Code Playgroud)
有人想给我一个正确方向的推动吗?
我发现每当我禁用nhibernate反射优化器时,初始化我的会话工厂都会非常快.这非常适合测试目的.
<add key="hibernate.use_reflection_optimizer" value="false" />
Run Code Online (Sandbox Code Playgroud)
我的问题是这样做的连锁效应是什么,为什么它不是默认设置?一切似乎都在起作用.
sql-server ×2
.net ×1
agile ×1
asp.net-mvc ×1
django ×1
gwt ×1
https ×1
inner-join ×1
innodb ×1
java ×1
layout ×1
mysql ×1
nhibernate ×1
sql ×1
sql-update ×1
swing ×1
tdd ×1
triggers ×1
unit-testing ×1