小编ton*_*edz的帖子

在scala.util.parsing.json._包的弃用面前使用什么?

如何解决Scala问题?我在项目中通过JSON使用警告:

包json中的对象JSON被描述.此对象将被删除.

import scala.util.parsing.json._
JSON.parseRaw("[{'a':'b'},{'c':'d'}]")
Run Code Online (Sandbox Code Playgroud)

json scala

12
推荐指数
2
解决办法
5333
查看次数

使用IF/ELSE确定SELECT INTO语句

我有一些奇怪的问题,使用IF/ELSE来确定要执行哪一个或两个SELECT语句.我在运行完整语句时得到的错误消息是我的临时表已经存在,但如果我运行两个单独的IF语句的两个单独执行,则不会发生这种情况.

这是SQL Server中的代码:

IF (select BusinessDayCount from Calendartbl) <= 1
  BEGIN
    SELECT * into #temp1
    FROM PreviousMonthTbl
  END
ELSE
  BEGIN
    SELECT * into #temp1
    FROM CurrentMonthTbl
  END
Run Code Online (Sandbox Code Playgroud)

sql t-sql database sql-server if-statement

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

构造函数不是一个类的成员吗?

构造函数不是一个类的成员吗?如果是,为什么他们不能继承?

JLS 7.0说构造函数不是成员,因此不能继承.这对Java来说是真的吗?还是一般的OOP范例?

java oop inheritance constructor

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

如何在Capybara中更改Cucumber测试的测试默认驱动程序?

Capybara提供的文档中,您可以更改特定测试组的default_driver:

describe 'some stuff which requires js', :js => true do
  it 'will use the default js driver'
  it 'will switch to one specific driver', :driver => :selenium
end
Run Code Online (Sandbox Code Playgroud)

如果我想为特定的黄瓜测试组做这个怎么办?我该如何添加这些参数?

When /^I do something$/  do
  fill_in "a_text_box", :with => "stuff"
  fill_in "another_text_box", :with => "another_thing"
end
Run Code Online (Sandbox Code Playgroud)

谢谢!

ruby-on-rails cucumber capybara

9
推荐指数
2
解决办法
6266
查看次数

Jersey @Path用于同一类中的复数/单个REST名词

我有一个类,这样注释@Path如下:

@Path("widgets")
@Produces(MediaType.APPLICATION_XML)
public class WidgetResource {

    @GET
    public Response getWidgets(@QueryParam("limit"))
    {
     //This class returns the plural noun, a list of widgets
    //...}

@GET
@Path("widget/{id}")
    public Response getWidgetById(@PathParam("id") long id)
    {
     //This class returns a single widget by id
    //...}
Run Code Online (Sandbox Code Playgroud)

当我启动测试客户端时,localhost/widgets按预期映射,但是当getWidgetById方法映射到时localhost/widgets/widget/{id}.这不是我想要的 - 我想拥有localhost/widgets and localhost/widget/{id}

我已经尝试@Path在类级别省略注释,但这会阻止Jersey将此类识别为REST资源(我尝试了两者ScanningResourceConfig并且ClassNameResourceConfig- 无法将类加载为资源,除非@Path在类级别存在).

我猜一个(丑陋的)解决方法是将WidgetResource类和WidgetsResource类之间的方法分开.我认为这是一个糟糕的解决方案,因为这两种方法在同一个类中共享资源,但我确实需要REST-ful localhost/widget(对于单个实体)和localhost/widgets(对于复数).

我错过了什么 - 如果我只是@Path注释方法(我无法让它工作),我有什么办法让泽西拿起这个类作为资源类,如果不是我可以强制绝对映射(@Path(/widget/{id}))或一些相对映射(@Path(../widget/id) …

java rest jersey

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

如何将HttpServletRequest转换为String?

我怎样才能转换HttpServletRequestString?我需要解组,HttpServletRequest但是当我尝试时,我的程序会抛出异常.

 javax.xml.bind.UnmarshalException
 - with linked exception:
[java.io.IOException: Stream closed]
        at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:197)
        at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal(UnmarshallerImpl.java:168)
        at javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(AbstractUnmarshallerImpl.java:137)
        at javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(AbstractUnmarshallerImpl.java:184)
        at com.orange.oapi.parser.XmlParsing.parse(XmlParsing.java:33)
Run Code Online (Sandbox Code Playgroud)

我尝试了以下代码来解组HttpServletRequest.

InputStreamReader is =
                new InputStreamReader(request.getInputStream());
InputStream isr = request.getInputStream();
ServletInputStream req = request.getInputStream();
Run Code Online (Sandbox Code Playgroud)

我的解析器方法:

public root parse(InputStreamReader is) throws Exception {
        root mc = null;
        try {
            JAXBContext context = JAXBContext.newInstance(root.class);
            Unmarshaller um = context.createUnmarshaller();
            mc = (root) um.unmarshal(is);
        } catch (JAXBException je) {
            je.printStackTrace();
        }
        return mc;
    }
Run Code Online (Sandbox Code Playgroud)

java servlets

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

通过java Web服务发送大数据

我有一个返回大量数据的Java Web服务.有没有一种标准的流式传输响应方式而不是尝试一次返回大量数据?

java rest web-services stream

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

Groovy中链式函数方法的惰性求值

我在Java中看到的

Java 8允许对链式函数进行惰性求值,以避免性能损失.

例如,我可以有一个值列表并像这样处理它:

someList.stream()
        .filter( v -> v > 0)
        .map( v -> v * 4)
        .filter( v -> v < 100)
        .findFirst();
Run Code Online (Sandbox Code Playgroud)

我将一些闭包传递给在流上调用的方法来处理集合中的值,然后只抓取第一个.

这看起来好像代码必须迭代整个集合,过滤它,然后迭代整个结果并应用一些逻辑,然后再次过滤整个结果,最后只抓取一个元素.

实际上,编译器以更智能的方式处理这个问题并优化所需的迭代次数.

这是可能的,因为findFirst在调用之前不会进行实际处理.这样编译器就知道我想要实现什么,并且可以找到如何以有效的方式完成它.

请看Venkat Subramaniam的演示视频,以获得更长的解释.

我想在Groovy中做些什么

在StackOverflow上回答有关Groovy问题时,我想出了一种方法来执行OP试图以更易读的方式实现的任务.我没有提出建议,因为这意味着性能下降.

这是一个例子:

collectionOfSomeStrings.inject([]) { list, conf ->  if (conf.contains('homepage')) { list } else { list << conf.trim() } }
Run Code Online (Sandbox Code Playgroud)

从语义上讲,这可以改写为

collectionOfSomeStrings.grep{ !it.contains('homepage')}.collect{ it.trim() }
Run Code Online (Sandbox Code Playgroud)

我发现它更容易理解,但可读性是有代价的.此代码需要传递原始集合,并对结果进行另一次迭代grep.这不太理想.

它看起来不像GDK grep,collect并且findAll像Java 8的流API中的方法一样懒惰地评估方法.有没有办法让他们表现得像这样?我可以使用Groovy中的替代库吗?

我想可能在Groovy中以某种方式使用Java 8并具有此功能.我欢迎对细节的解释,但理想情况下,我希望能够使用旧版本的Java来做到这一点.

我找到了一种结合闭包的 …

groovy closures functional-programming lazy-evaluation java-8

9
推荐指数
2
解决办法
1695
查看次数

Sightly中HTML href属性的默认/正确上下文

我正在使用Sightly,在调查我的应用程序中的一个错误时,我注意到了一个我没想到的行为.

某些链接会在查询字符串中使用&符号进行两次转义.例:

<a href="http://www.google.com?a=1&amp;amp;b=2&amp;amp;c=3">
    link with explicit attribute context
</a>
Run Code Online (Sandbox Code Playgroud)

经过仔细检查,结果发现我们在AEM中运行的org.apache.sling.rewriter.Transformer所有href属性中都有一个实现转义特殊字符.

加上Sightly XSS保护,这导致了双重逃逸.

在进一步研究这个问题时,我禁用了变压器,发现Sightly本身有一种奇怪的行为.

href属性中的属性上下文和默认上下文不匹配

鉴于以下三个元素,我希望它们以href相同的方式呈现值(查询字符串被转义,符合W3C标准)

<a href="${'http://www.google.com?a=1&b=2&c=3'}">no explicit context, expression used</a>
<a href="http://www.google.com?a=1&b=2&c=3">no explicit context</a>
<a href="${'http://www.google.com?a=1&b=2&c=3' @ context='attribute'}">
    explicit attribute context
</a>
Run Code Online (Sandbox Code Playgroud)

但是,只有最后一个执行转义,我得到

<a href="http://www.google.com?a=1&b=2&c=3">no explicit context, expression used</a>
<a href="http://www.google.com?a=1&b=2&c=3">no explicit context</a>
<a href="http://www.google.com?a=1&amp;amp;b=2&amp;amp;c=3">
    explicit attribute context
</a>
Run Code Online (Sandbox Code Playgroud)

出于某种原因,最后一个,使用context='attribute'(唯一一个与&字符做某事的人)两次逃脱&符号,产生无效链接.

这可以通过任意元素和属性名称来实现,所以我想我可以放心地认为这不是一些重写者.

<stargate data-custom="${'http://www.google.com?a=1&b=2&c=3' @ context='attribute'}">
    attribute context in custom tag
</stargate>
Run Code Online (Sandbox Code Playgroud)

输出:

<stargate data-custom="http://www.google.com?a=1&amp;amp;b=2&amp;amp;c=3">
    attribute context in custom …
Run Code Online (Sandbox Code Playgroud)

html5 aem sightly

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

WCF Restful服务GET/POST

我可以这样做吗?

[OperationContract]    
[WebInvoke
  (  
    Method = "POST",
    ResponseFormat = WebMessageFormat.Json,
    RequestFormat = WebMessageFormat.Json,
    BodyStyle = WebMessageBodyStyle.Bare,
    UriTemplate = "/abc{integerParam}"
  )
]
ResultStruct abc( int integerParam, CustomClass secondParam );
Run Code Online (Sandbox Code Playgroud)

这里的想法是我可以在url中传递第一个参数(整数),但是secondParam来自POST.这甚至可能吗?

我从WCF REST开始,不确定如何分配参数.任何指针都会有所帮助,谢谢

c# rest wcf

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