小编Dam*_*amo的帖子

带编辑器框架的GWT验证器

有没有人意识到编辑器和jsr 303验证如何与GWT 2.3一起工作?验证API已添加到gwt sdk.但我无法使用编辑器框架验证实体.无论我做什么,都不会从客户端或服务器端抛出错误.

这是一段代码:

public class P {

  public P() {}

  @Size(min=4)
  private String name;

  public void setName(String name) {
    this.name = name;
  }

  public String getName() {
    return name;
  }

}
Run Code Online (Sandbox Code Playgroud)

PEditor

public class PEditor extends Composite implements Editor<P> {

  private static PEditorUiBinder uiBinder = GWT.create(PEditorUiBinder.class);

  interface PEditorUiBinder extends UiBinder<Widget, PEditor> {}

  @UiField
  TextBox name;

  public PEditor() {
    initWidget(uiBinder.createAndBindUi(this));
  }

}
Run Code Online (Sandbox Code Playgroud)
  PEditor pEditor;
  interface Driver extends SimpleBeanEditorDriver<P, PEditor> {}

  Driver driver = GWT.<Driver> create(Driver.class);

  public void onModuleLoad() { …
Run Code Online (Sandbox Code Playgroud)

validation gwt editor

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

加载javassist-ed Hibernate实体

我有一个JSF转换器,我用于包含几种不同实体类型的SelectItem列表.在getAsString()方法中,我创建字符串作为后缀为":"的类名和ID.

MySuperClass superClass = (MySuperClass)value;
if(superClass != null) {
  return String.valueOf(superClass.getClass().getName()+":"+superClass.getId());
}
Run Code Online (Sandbox Code Playgroud)

这允许我getAsObject()通过这样做在从UI返回的路上加载正确的实体:

String className = value.substring(0, value.indexOf(":"));
long id = Long.parseLong(value.substring(value.indexOf(":")+1));
Class<T> entitySuperClass = (Class<T>) Class.forName(className);
MySuperClass superClass = (MySuperClass)getEntityManager().find(entitySuperClass, id);
Run Code Online (Sandbox Code Playgroud)

我的问题是我的实体getAsString()是代理.因此,com.company.MyEntity当我执行getClass().getName()时,我得到的com.company.MyEntity_$$_javassist_48却是失败的find().

有没有办法(除了字符串操作)获取具体的类名(例如com.company.MyEntity)?

谢谢.

java hibernate jpa

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

JSF:通过字段从Validator访问Bean

我有一个JSF验证器,用于检查Container Number字符串是否符合ISO-6346规范.

它工作正常,但我需要根据容器号来自的Bean中的其他值添加一些条件处理.这个Bean可以有几种不同的类型.

有没有办法在验证器中访问Bean并对其执行操作?理想情况下,我喜欢将它作为验证器,但如果没有解决方案,我必须在持久化之前在Bean中实现逻辑.

我正在考虑以下几点:

public class ContainerNumberValidator implements javax.faces.validator.Validator {
   public void validate(FacesContext context, UIComponent component, Object value) throws ValidatorException {

      Object bean = UIComponent.getMyBeanSomehowThroughAMagicMethod();
      if(bean instanceof BeanA) {
         //do this
      } else if(bean instanceof BeanB) {
         //do that
      }
}
Run Code Online (Sandbox Code Playgroud)

更新:在许多方面,这是同时验证多个字段的类似问题.BalusC的这段代码很有帮助.

非常感激.

D.

java jsf

5
推荐指数
2
解决办法
7050
查看次数

通用JMS客户端

有谁知道编写通用JMS客户端是否可行- 即.与不同提供商的JMS合作的一个(例如Sonic,IBM SIB,Jboss等)?

每次我编写JMS客户端代码时,它总是非常特定于实现,具有依赖的JAR和Context类.

谢谢.

java jms

5
推荐指数
2
解决办法
5907
查看次数

Apache Camel exec与args

使用exec组件时,是否可以指定args内联而不必将其设置为ExecBinding.EXEC_COMMAND_ARGS

例如,我有这条路线:

from("seda:getPolicyListStart")
.process(new Processor() {
    public void process(Exchange e) {
        ClientRequestBean requestBean = (ClientRequestBean)e.getIn().getBody();
        List<String> args = new ArrayList<String>();
        args.add(requestBean.getClient());
        args.add(requestBean.getSort());
        e.getOut().setHeader(ExecBinding.EXEC_COMMAND_ARGS, args);
    }
})
.to("exec:some_command?useStderrOnEmptyStdout=true")
.convertBodyTo(String.class)
.log("Executed OS cmd and received: ${body}")
Run Code Online (Sandbox Code Playgroud)

但是我会认为我可以使用简单表达式语言来简化它:

from("seda:getPolicyListStart")
.to("exec:some_command?useStderrOnEmptyStdout=true&args=${body.client} ${body.sort}")
.convertBodyTo(String.class)
.log("Executed OS cmd and received: ${body}")
Run Code Online (Sandbox Code Playgroud)

与使用文件组件时如何使用文件语言(简单的子集)类​​似.

可能吗?如果没有,第一个例子可以简化吗?

更新 [解决方案]:

    from(requestNode)
    .routeId(routeId)
    .recipientList(simple("exec:"+osCmd+"?useStderrOnEmptyStdout=true&args=${body.client}"))
    .convertBodyTo(String.class)
    .log("Executed OS cmd and received: ${body}")
    .to(responseNode);
Run Code Online (Sandbox Code Playgroud)

谢谢.

apache-camel

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

Groovy XmlSlurper并插入子节点

是否可以使用Groovy的XMLSlurper并在索引处插入子节点?

目前,GPathResult类具有putAt(index)和appendNode().第一个替换索引处的元素而不是插入,第二个添加到结尾.

不幸的是,我与XmlSlurper而不是XmlParser联系在一起.

谢谢.

xml groovy

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

标签 统计

java ×3

apache-camel ×1

editor ×1

groovy ×1

gwt ×1

hibernate ×1

jms ×1

jpa ×1

jsf ×1

validation ×1

xml ×1