我用下一个方式描述我的面板
<!DOCTYPE ui:UiBinder SYSTEM "http://dl.google.com/gwt/DTD/xhtml.ent">
<ui:UiBinder xmlns:ui='urn:ui:com.google.gwt.uibinder'
xmlns:g='urn:import:com.google.gwt.user.client.ui'>
<g:DockLayoutPanel unit="PX" width="600" >
<g:north size="85">
....
</g:north>
<g:center>
....
</g:center>
</g:DockLayoutPanel>
Run Code Online (Sandbox Code Playgroud)
为北部和中间下一个div生成GWT.
<div style="position: absolute; overflow: hidden; left: 0px; top: 0px; right: 0px; height: 85px;"
<div style="position: absolute; overflow: hidden; left: 0px; top: 85px; right: 0px; bottom: 0px;">
Run Code Online (Sandbox Code Playgroud)
它们包含我需要的数据,但第二个div没有显示.哪里错了?
UPD: 仅举例来说
<g:center>
<g:FlowPanel height="100%">
<g:Label height="100%">TEST2</g:Label>
</g:FlowPanel>
</g:center>
Run Code Online (Sandbox Code Playgroud)
我明白了
<div style="position: absolute; overflow: hidden; left: 0px; top: 85px; right: 0px; bottom: 0px;">
<div style="position: absolute; overflow: hidden; left: 0px; top: 85px; …Run Code Online (Sandbox Code Playgroud) 我正在尝试将spring与hibernate集成,但是捕获NamingException:Context是只读的
堆栈跟踪
WARNING: Could not bind factory to JNDI
javax.naming.NamingException: Context is read only
at org.apache.naming.NamingContext.checkWritable(NamingContext.java:903)
at org.apache.naming.NamingContext.createSubcontext(NamingContext.java:517)
at org.apache.naming.NamingContext.createSubcontext(NamingContext.java:538)
at org.apache.naming.SelectorContext.createSubcontext(SelectorContext.java:422)
at javax.naming.InitialContext.createSubcontext(InitialContext.java:464)
at org.hibernate.util.NamingHelper.bind(NamingHelper.java:69)
at org.hibernate.impl.SessionFactoryObjectFactory.addInstance(SessionFactoryObjectFactory.java:90)
at org.hibernate.impl.SessionFactoryImpl.<init>(SessionFactoryImpl.java:306)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1300)
at org.springframework.orm.hibernate3.LocalSessionFactoryBean.newSessionFactory(LocalSessionFactoryBean.java:855)
at org.springframework.orm.hibernate3.LocalSessionFactoryBean.buildSessionFactory(LocalSessionFactoryBean.java:774)
at org.springframework.orm.hibernate3.AbstractSessionFactoryBean.afterPropertiesSet(AbstractSessionFactoryBean.java:211)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1460)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1398)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:512)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:450)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:290)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:287)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:189)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:540)
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:842)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:416)
at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:261)
at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:192)
at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:47)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3843)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4350)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)
at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:626)
at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:553) …Run Code Online (Sandbox Code Playgroud) 我有一个单一原子操作的方法,就像这个
int value;
public void setValue(int value) {
this.value = value;
}
Run Code Online (Sandbox Code Playgroud)
然后我以明显的方式称呼它,比如
foo.setValue(10);
Run Code Online (Sandbox Code Playgroud)
问题是:它是原子操作吗?如果不是,将执行哪些原子操作?我如何在我的电脑上测试这个(如果可以的话)?
为什么这个"代码"失败了
<g:DockPanel unit="px">
<g:south size="100">
<g:TextBox ui:field="host" text="localhost"/>
</g:south>
<g:south size="100">
<g:TextBox ui:field="port" text="3287"/>
</g:south>
</g:DockPanel>
Run Code Online (Sandbox Code Playgroud)
而这个
<g:HorizontalPanel>
<g:cell>
<g:TextBox ui:field="host" text="localhost"/>
</g:cell>
<g:cell>
<g:TextBox ui:field="port" text="3287"/>
</g:cell>
</g:HorizontalPanel>
Run Code Online (Sandbox Code Playgroud)
不?
附加信息:
堆栈跟踪
ERROR: Deferred binding failed for 'client.view.EnterPage.EnterPageUiBinder'; expect subsequent failures.
ERROR: Unable to load module entry point class client.Dbweb (see associated exception for details). java.lang.RuntimeException: Deferred binding failed for 'client.view.EnterPage$EnterPageUiBinder' (did you forget to inherit a required module?)
at com.google.gwt.dev.shell.GWTBridgeImpl.create(GWTBridgeImpl.java:53)
at com.google.gwt.core.client.GWT.create(GWT.java:98)
at client.view.EnterPage.<clinit>(EnterPage.java:27)
at client.Dbweb.onModuleLoad(Dbweb.java:15)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) …Run Code Online (Sandbox Code Playgroud) 我的模型中有一些事件和一些处理逻辑.我想组织沟通逻辑抛出Actors.但是如何act()在不指定每个具体类的情况下继承处理逻辑
简化示例
class Event {}
case class FooEvent(str : String) extends Event
case class BarEvent(i : java.lang.Integer) extends Event
trait FooListener extends Actor {
def act() {
react{
case FooEvent => print("foo received")
}
}
}
trait BarListener extends Actor {
def act() {
react{
case BarEvent => print("bar received")
}
}
}
class ListensOnlyBar extends BarListener{}
//can't be done:
//error: overriding method act in trait FooListener of type ()Unit;
//method act in trait BarListener of type ()Unit …Run Code Online (Sandbox Code Playgroud) 是否有任何库提供用于模拟具有特征的类的工具(两者都可以是有状态的)?
简化示例:
trait T {
var xx: List[Int] = List[Int]()
def t(x: Int) {
xx ::= x //throws NPE, xx == null, even after implicit initialization
}
}
class A extends T {
}
class Testable(a: A) {
def bar() {
a.t(2)
}
}
@Test def testFoo() {
val a: A = mock[A]
val testable = new Testable(a)
testable.bar()
verify(a).t(2)
}
Run Code Online (Sandbox Code Playgroud) 我有一个记录 (defrecord Rec [id])
我喜欢它
(def my ( Rec. 2 ))
(println (:id my))
Run Code Online (Sandbox Code Playgroud)
现在我想用宏替换记录def.所以我可以写
(r 2)
(println (:id my))
Run Code Online (Sandbox Code Playgroud)
我写了宏
(defmacro r [id]
(list 'def 'my (symbol "(") 'Rec. id (symbol ")")))
Run Code Online (Sandbox Code Playgroud)
我用macroexpand检查了它
(macroexpand-1 '(r 2)) => (def my ( Rec. 2 ))
Run Code Online (Sandbox Code Playgroud)
但我得到RuntimeException: Too many arguments to def的(r 2).
我有一些带有一些预定义功能和记录的clojure文件
;outer.clj
(ns outer )
(defn foo [a] (println a))
(defrecord M [id])
Run Code Online (Sandbox Code Playgroud)
现在用法文件
;inner.clj
(ns inner (:use outer ))
(foo 2) ;works fine
(println (:id (M. 4))) ;throws IllegalArgumentException: Unable to resolve classname: M
Run Code Online (Sandbox Code Playgroud)
为什么函数导入正常但记录定义没有?我应该如何进口呢?
如何匹配变量值。所以,我想像这样写 smt
val x = 2
val m = (1, 2)
case m of (_, valueOf(x)) => "same"
| (_, _) => "different"
Run Code Online (Sandbox Code Playgroud)
我猜,它命名为稳定标识符。