小编Bri*_*ent的帖子

在Spring MVC 3中指定HTTP"位置"响应头的首选方法是什么?

在Spring MVC 3中指定HTTP"位置"响应头的首选方法是什么?

据我所知,Spring只会提供一个"位置"来响应重定向("redirect:xyz"或RedirectView),但有些场景应该与实体主体一起发送(例如,作为"201 Created"的结果.

我担心我唯一的选择是手动指定它:

httpServletResponse.setHeader("Location", "/x/y/z");
Run Code Online (Sandbox Code Playgroud)

它是否正确?有没有更好的方法来解决这个问题?

java rest spring-mvc

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

我可以让Hibernate通过工厂方法创建一个对象吗?

有没有办法在Hibernate中映射工厂方法(而不是让Hibernate调用默认构造函数并反射设置属性或字段)?

如果无法映射,Hibernate是否为逐个类的自定义对象创建提供了一个钩子?

谢谢!

java orm hibernate factory

14
推荐指数
2
解决办法
5517
查看次数

sbt任务增加项目版本

是否有SBT任务来增加项目的版本?

给出类似以下build.sbt的初始配置

name := 'My Project'

organization := 'org.example'

version := '0.1.0'
Run Code Online (Sandbox Code Playgroud)

major.minor.patch的版本命名,我希望像SBT这样的任务

> incrementVersionPatch
Run Code Online (Sandbox Code Playgroud)

这将导致版本的0.1.1.

(理想情况下也是相应的incrementVersionMinorincrementVersionMajor.)

我觉得这必须已经存在,但无法找到办法.

scala sbt

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

Scala unapplySeq提取器语法

我(无意中)遇到了一些模式匹配语法,我没想到要编译,现在无法弄清楚.

它似乎与...有关unapplySeq.

请注意case x List(_,_)这个简单示例中的部分:

val xs = List(1, 2, 3)                          //> xs  : List[Int] = List(1, 2, 3)

xs match {
    case x List (_, _) => "yes"
    case _             => "no"
}                                               //> res0: String = yes
Run Code Online (Sandbox Code Playgroud)

我习惯于:@模式匹配语法,但我对此感到困惑.这种语法如何工作以及它与它的关系是什么(如果有的话)unapplySeq

在Scala 2.11.6中执行的示例代码

scala pattern-matching scala-2.11

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

在Antlr4 maven插件中指定包的格式是什么?

在Antlr4 maven插件antlr4-maven-plugin中指定包的格式是什么?

我觉得我应该能够做到以下几点:

<plugin>
    <groupId>com.tunnelvisionlabs</groupId>
    <artifactId>antlr4-maven-plugin</artifactId>
    <version>4.0</version>
    <configuration>
        <arguments>package my.package.name</arguments>
    </configuration>
    <executions>
        <execution>
            <goals>
                <goal>antlr4</goal>
            </goals>
        </execution>
    </executions>
</plugin>
Run Code Online (Sandbox Code Playgroud)

但这会导致以下错误:

[ERROR] Failed to execute goal com.tunnelvisionlabs:antlr4-maven-plugin:4.0:antlr4 (default) on project my_project: Unable to parse configuration of mojo com.tunnelvisionlabs:antlr4-maven-plugin:4.0:antlr4 for parameter arguments: Cannot assign configuration entry 'arguments' with value 'package my.package.name' of type java.lang.String to property of type java.util.List -> [Help 1]
Run Code Online (Sandbox Code Playgroud)

maven antlr4

7
推荐指数
3
解决办法
4086
查看次数

for-comprehension中的scala异常与类型注释

我试图理解在处理空值并在for-comprehension中键入注释时看起来像是奇怪的行为.

举个例子:

def f(): String = null

for {
  a <- Option("hello")
  b = f()
} yield (a, b)
Run Code Online (Sandbox Code Playgroud)

结果在预期中:

//> res0: Option[(String, String)] = Some((hello,null)) 
Run Code Online (Sandbox Code Playgroud)

但是,如果我在类型中添加类型注释 b

def f(): String = null

for {
  a <- Option("hello")
  b: String = f()
} yield (a, b)
Run Code Online (Sandbox Code Playgroud)

然后我得到一个运行时异常:

//> scala.MatchError: (hello,null) (of class scala.Tuple2)
Run Code Online (Sandbox Code Playgroud)

为什么会这样?在第一个例子中是不是b隐式的类型String?第二个示例中的显式类型注释会发生什么变化?

(注意,示例在Scala 2.11.4中运行)

scala for-comprehension scala-2.11

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

以编程方式调用@Controller

我正在转换使用 Spring MVC 控制器实现的代码以使用注释构造型 @Controller。除了一个问题外,一切都很好:

给定一个请求/响应,我如何以编程方式处理基于注释的控制器的请求?

以前,(无论实现如何)我可以调用:

controller.handleRequest(request, response)
Run Code Online (Sandbox Code Playgroud)

注释的等价物是什么?我曾假设会有一些(也许是静态的?)实用程序类:

SpringAnnotationBasedControllerUtils.handleRequest(<? extends @Controller> handlerObject, HttpServletRequest request, HttpServletResponse response);
Run Code Online (Sandbox Code Playgroud)

处理将请求映射到@Controller 构造型允许的动态签名的细节,但我找不到这样的东西。

有什么建议?

(请不要评论为什么这是一个坏主意,或者对于“好的”设计来说应该是不必要的,等等。这是正在维护的代码,必须尽可能非侵入性,因此此时无法选择完全重写。 )

谢谢!

java spring spring-mvc

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

如何选择在Oracle中注册的XML模式?

如何选择先前在Oracle中注册的XML模式?

例如,如果我注册了这样的模式:

DBMS_XMLSCHEMA.registerSchema(
    SCHEMAURL => 'http://test.com/my-schema.xsd',
    SCHEMADOC => '...the xsd...,
    ...
);
Run Code Online (Sandbox Code Playgroud)

我希望能够重新获得该架构,理想情况是:

select s.schemadoc
from magic_schema_table s
where s.schemaurl = 'http://test.com/my-schema.xsd'
Run Code Online (Sandbox Code Playgroud)

是否存在这种机制?

oracle xsd

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

我可以将 jackson-mapped @JsonProperties 推到“顶级”吗?

给定一个 Java 类,如下所示:

class MyClass {

    String value;

    Map<String,Object> map;

    @JsonProperty("value")
    public String getValue() {
        return value;
    }

    @JsonProperty("map")
    public Map<String,Object> getMap {
        return map;
    }
}
Run Code Online (Sandbox Code Playgroud)

Jackson 将像这样转换为 JSON:

{
    "value": "abc",
    "map": {
        "key1": "value1",
        "key2": "value2",
        "key3": "value3"
    }

}
Run Code Online (Sandbox Code Playgroud)

我想要的是以map某种方式“展平”属性,使其内容出现在 JSON 结构的“顶级”,如下所示:

{
    "value": "abc",
    "key1": "value1",
    "key2": "value2",
    "key3": "value3"
}
Run Code Online (Sandbox Code Playgroud)

这是否可以通过 Jackson 注释的任何组合声明性地实现?

(这是我实际问题的简化,所以我不是在寻找诸如“编写自己的自定义 MyClass 序列化程序”之类的答案。实际上,此类必须在我无法直接控制的场景中使用自定义 ObjectMappers。)

java json jackson

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

在模板中处理条件内容的首选Lift方法是什么?

在模板中处理条件内容的首选Lift方法是什么?

作为一个具体的例子,让我们想象一下"添加到我的收藏夹"类型按钮的常见结构.如果不在您的收藏夹中,则可以单击按钮添加它.如果已经在您的收藏夹中,则有一个按钮可将其删除.像这样的东西:

<div class="lift:MySnippet">

  <!-- other stuff -->

  <div class="favorite">
    <form id="doFavorite" class="lift:MySnippet.favorite?form=post">
      <input type="submit" value="Add to Favorites" />
    </form>
    <form id="doUnfavorite" class="lift:MySnippet.unfavorite?form=post">
      <input type="submit" value="Remove from favorites" />
    </form>
  </div>

  <!-- other stuff -->

</div>
Run Code Online (Sandbox Code Playgroud)

我没有看到片段中的明显方式(通过绑定或CSS变换器)根据适当的"favited"状态有条件地保留一个表单与另一个表单.

来自Java/SpringMVC/JSP背景,这将通过一个简单的<c:choose>声明来解决,但是我花了很多时间试图解决这个问题,我只能假设我完全倒退了......

提前谢谢,提升大师!

scala lift

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