小编Con*_*her的帖子

Wicket和CSS资源

我一直在四处寻找,我找不到将我自己的CSS添加到Wicket网站项目的虚拟指南.但在我开始之前......我对正确的java开发相当新,所以当我说"Dummy的指南"时,我的意思是真的!这里简单明了的解释非常感谢!

我从这里开始使用这个指南(http://wicket.apache.org/start/quickstart.html)并且运行正常.接下来,我想添加自己的CSS并开始搞乱它.而且我无处可逃.主要是因为我不知道如何在java中做到这一点(我来自C#/ asp.net背景).

无论如何,那些了解Apache Wicket的人都会知道这一点,但是快速入门的来源会在如下的地方创建你的代码 project/src/main/java/com/xyz

我猜想我能做的就是在这里添加一个CSS文件夹...所以我创建了一个示例CSS,我把它粘在这里:

project/src/main/java/com/xyz/css/conor.css

(containing something real simple like the following)

h2 {
    font-family: tahoma;
}
Run Code Online (Sandbox Code Playgroud)

然后我删除了我的homepage.html中的Wicket默认css并将其更改为引用我的如下:

<link rel="stylesheet" href="css/conor.css" type="text/css" />
Run Code Online (Sandbox Code Playgroud)

但是我的页面没有注意到conor.css ...显然我做错了什么,但找不到java虚拟(也就是我!)的分步指南.

我已经阅读过你需要为eclipse安装web工具的内容.我不知道这对我有什么用处,或者为什么它会指示我的页面使用CSS.

很感谢任何形式的帮助!

css java wicket

9
推荐指数
1
解决办法
9068
查看次数

模拟(Moq)或覆盖密封类中的readonly propery?

我有一种情况,在MS Dynamics Crm中它使用密封类和只读属性返回一些对象(我只能假设使用内部构造函数或内部属性集).这些家伙不会从我可以使用的界面继承.显然,如果我控制了这段代码,我会有更多的控制权,但因为它在底层的MS Dynamics框架中,我有点卡住了.

我想模拟/覆盖的类名为AliasedValue.我想嘲笑它的原因是我试图模拟对动态的调用,并想假装我得到了一些别名值.

所以这是场景,我想创建一个Dynamics将返回的示例实体......如下所示:

var new_entity = new Entity("new_entity")
    {
        Attributes = new AttributeCollection
            {
                {"new_name", "BR"},
                {"createdon", DateTime.Now.AddDays(-1).Date},
                {"new_field", "My field"},
                {"new_contact", new AliasedValue {*****} }
            }
    };
Run Code Online (Sandbox Code Playgroud)

所以我引用了一个"联系"实体(实时它以AliasedValue的形式返回).在测试时,我想确保我的代码处理可能在此字段中返回的某些值(例如,它知道如何处理别名值,如果没有返回链接的联系人,则它不会爆炸,等等).

因此,如果您点击了AliasedValue的链接,您会发现属性是只读的...所以我无法设置测试数据......

接下来,我打算创建自己的类并覆盖整个事情......但它是密封的......

最重要的是,正如你可能已经猜到的那样,Moq并不喜欢试图模拟密封的课程.

我已经读过我需要购买一些"更好"的模拟框架才能做到这一点,但我真的不想为了解决这个问题而花费一些额外的钱.

任何人都有一个很好的小解决方案让我绕过这个?

更新澄清


返回的示例如下.我有一个服务,将被嘲笑返回上述对象.或者实际返回的是包含上述对象的集合.所以这是这样的:

var service = new Mock<IOrganizationService>();
service
    .Setup(s => s.RetrieveMultiple(null))
    .Returns(new EntityCollection (new List<Entity> {new_entity}));
Run Code Online (Sandbox Code Playgroud)

这很好,我可以返回上面的实体并用它做我想做的事.所以,在我创建了上面的实体后,我通过我的模拟服务返回它,我在"EntityCollection"中得到了上述实体.一旦我拥有了我的实体,我就按如下方式访问该属性:

var aliasedContact = (AliasedValue)new_entity.Attributes["new_contact"];
Run Code Online (Sandbox Code Playgroud)

也许我很傻,但我无法得到答案(由Lunivore)解决这个问题......(添加评论以获得反馈......)

c# tdd unit-testing moq mocking

3
推荐指数
1
解决办法
4215
查看次数

Microsoft Dynamics CRM 2011

Dynamics CRM中的IOrganizationServiceOrganizationServiceProxy有什么区别?

它是否与在Crm上下文和Crm上下文中访问服务有关?

microsoft-dynamics crm dynamics-crm

3
推荐指数
1
解决办法
604
查看次数

JQuery - 动态选择和选项在IE9中不起作用

我有一个动态选择,需要驱动另一个选择,但我似乎无法让它在IE中工作(使用IE9).我在这里看过这篇文章但是(除非我不理解它)这似乎没有帮助:动态相关用jQuery选择,不在IE中工作.

我真的简化了它,以便很容易理解这个问题.我有2个选择,1个驱动另一个.因此,当您在第一个中选择某个内容时,第二个内容会发生变化.对于这个例子,我只是在select中添加一个新项目,即使这在IE中也不起作用:

var mydiv = $("#testdiv");
$("<select id='f1'>").appendTo(mydiv);
$("<select id='f2'>").appendTo(mydiv);
$("#f1").append("<option value='1'>1</option>");
$("#f1").append("<option value='2'>2</option>");
$("#f2").append($("<option>").attr("value", "n"));
$("#f1").change(function () {
    $("#f2").append("<option value='t1'>t1</option>");
});

<div id="testdiv"></div>
Run Code Online (Sandbox Code Playgroud)

因此,理论上我们应该从2个选择列表开始,"f2"将在其中选择1个空白选项.

接下来,从"f1"中选择一个项目,它将为"f2"添加一个新选项.

这完全符合我想要的firefox和chrome.在IE中它只是表现得很奇怪.以IE为例:

场景1

  1. 我打开页面并检查"f2"选择.它有1个空白值
  2. 我在"f1"中选择了一个项目
  3. 我检查"f2",它仍然有1个空白值

情景2

  1. 我打开页面,不要触摸"f2"选择.
  2. 我在"f1"中选择了一个项目
  3. 我检查"f2",它有2个项目!
  4. 我在"f1"中选择了另一个项目
  5. 我检查"f2"它还有2个项目?!?

所以它看起来像我第一次激活选择控件时它必须对现有的HTML做一些事情......现在这就是它将从这里开始渲染......

这让我疯了,我做错了什么?!?

注意:不确定它是否重要,但两个选择都是使用javascript/jquery动态生成的,因为在异步调用完成之前我不知道它们的值.

由于通过评论进行调查而更新了问题...似乎我关于动态创建对象的最后一个注释对于重新创建问题至关重要

jquery internet-explorer html-select

1
推荐指数
1
解决办法
1万
查看次数