小编ps0*_*604的帖子

Play框架:读取包含空值的Json

我正在尝试在Play Scala程序中读取Json数据.Json在某些字段中可能包含空值,所以这就是我定义Reads对象的方式:

  implicit val readObj: Reads[ApplyRequest] = (
      (JsPath \ "a").read[String] and
      (JsPath \ "b").read[Option[String]] and
      (JsPath \ "c").read[Option[String]] and
      (JsPath \ "d").read[Option[Int]]
    )  (ApplyRequest.apply _) 
Run Code Online (Sandbox Code Playgroud)

和ApplyRequest案例类:

case class ApplyRequest ( a: String,
                          b: Option[String],
                          c: Option[String],
                          d: Option[Int],
                          )
Run Code Online (Sandbox Code Playgroud)

这不能编译,我明白了 No Json deserializer found for type Option[String]. Try to implement an implicit Reads or Format for this type.

如何声明Reads对象接受可能的null?

scala playframework playframework-2.0

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

在 Pentaho 中将价值从工作传递到转型

我在 Pentaho PDI 中有以下转换(注意 SQL 语句中的问号):

在此输入图像描述

转换是从工作中调用的。我需要的是在作业运行时从用户那里获取值并将其传递给转换,以便替换问号。

我的问题是有参数、参数和变量,我不知道该使用哪一个。如何使这项工作有效?

pentaho pentaho-cde pentaho-spoon pentaho-data-integration

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

window.pushState 不会增加历史记录长度

我有以下尝试操作堆栈的代码window.history

  console.log("before:" + window.history.length);
  window.history.pushState(null, null, '/page1');
  console.log("after:" + window.history.length);
Run Code Online (Sandbox Code Playgroud)

尽管我添加了一个状态,但在beforeand中总是打印相同的内容:after

before:50
after:50
Run Code Online (Sandbox Code Playgroud)

为什么pushState不增加历史长度?顺便说一句,50即使我刷新页面,长度也总是如此。

javascript html5-history

5
推荐指数
0
解决办法
753
查看次数

成功时拒绝$ http承诺

我有一个函数,它返回$ http GET的承诺(承诺成功/错误由调用者处理).我需要的是,在某些条件下,即使$ http成功,也要返回一个错误(调用者将这个条件视为被拒绝的承诺).

在这个插件中,我试图返回$ q.reject()但这不起作用.

http://plnkr.co/edit/iC3Wb1PBUFrXgPbTJyU0?p=preview

这是JavaScript:

app.controller("ctrl", function($scope, $http) {
  var getUrl = function() {
    var config = {
      method: 'GET',
      url: 'some.txt'
    };
    var x = 1; // if x == 1 the http should fail
    return $http(config).success(function(response, status, headers, config) {
      console.log(response);
      if (x == 1) return $q.reject('error');
    }).error(function(data, status, headers, config) {});
  };
  var init = function() {
    var promise = getUrl();
    promise.then(function() {
      alert('OK');
    }, function() {
      alert('error');
    });
  };
  init();
});
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

javascript angularjs

4
推荐指数
2
解决办法
6284
查看次数

如何在SBT中显示消息?

SBT 中是否有相当于 ant echo 语句的语句?例如:

<echo message="Hello, world"/>
Run Code Online (Sandbox Code Playgroud)

sbt

4
推荐指数
2
解决办法
5544
查看次数

在悬停时将字体Awesome图标指定给光标

当我将鼠标悬停在div上时,我想使用Font Awesome图标之一作为光标/鼠标指针.这可能吗?这样的事情:

.myClass:hover {
    cursor: <--- here assign to the cursor the Font Awesome icon
} 
Run Code Online (Sandbox Code Playgroud)

css css3 font-awesome

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

使用ng-repeat在Angular中渲染数组数组表

我有一个数组数组(表示行和列),我需要使用数据呈现HTML表.

每行都是一个列值数组,例如: $scope.table.row[0] = [123, 456, 789]

这是我的尝试(这不起作用).有任何想法吗?

<table>
    <tbody>
        <tr ng-repeat="row in table">
            <td ng-repeat="col in row">{{col}}</td>
        </tr>    
    </tbody>
</table>
Run Code Online (Sandbox Code Playgroud)

angularjs

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

未选中时在 Fabric 文本框上绘制边框

在这个 jsfiddle 中,我有一个 Fabric(版本 1.x)文本框,当它被选中时有一个红色边框,当文本可编辑时有一个蓝色边框。当未选择 TextBox 时,我需要的是边框。如何做到这一点?

HTML

<canvas id="c" width="300" height="300"></canvas>
Run Code Online (Sandbox Code Playgroud)

Javascript

var canvas = new fabric.Canvas('c');

var text = new fabric.Textbox("Some Text", {
  left: 50,
  top: 50,
  width: 100,
  fontSize: 12,
  fontFamily: 'Arial',
  backgroundColor: 'yellow',
  borderColor: 'red',
  editingBorderColor: 'blue',
  padding: 2
});

canvas.add(text);
Run Code Online (Sandbox Code Playgroud)

fabricjs

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

调整 Fabric Rect 的大小而不调整文本框的大小

在这个jsFiddle 中,我有一个包含 Rect 和 Textbox 的 Fabric 组。我需要能够在不缩放文本的情况下缩放 Rect,因此我尝试在选择组时取消分组,并在清除选择时再次分组。还:

  • 矩形和文本框被分组以便能够一起移动它们。
  • 文本需要可编辑。
  • 文本需要在矩形的顶部(即应该始终可见)。

如何使 jsFiddle 工作?

笔记

文本和矩形总是一起移动,即使在任何选择之前或之后也是如此。

var canvas = window._canvas = new fabric.Canvas('c');

var text = new fabric.Textbox("Some text", {
     width: 100,
     height: 22,
     fontSize: 12,
     editable: true
});

var rect = new fabric.Rect({
     width: 100,
     height: 22,
     fill: 'yellow'
});

var group = new fabric.Group([ rect, text ], {
  left: 30,
  top: 30
});

canvas.add(group);

group.on('selected', function (e){
   canvas.remove(group);
   canvas.add(rect);
   canvas.add(text);
   canvas.renderAll();
   canvas.setActiveObject(rect);

});

canvas.on('selection:cleared', function(e) …
Run Code Online (Sandbox Code Playgroud)

javascript fabricjs

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

仅忽略 AssertJ 中的嵌入成员

我有两个类要使用JUnit/进行测试Mockito

 public class ClassA {

    private int sk;
    // getters and setters

} 


 public class ClassB {

    private int sk;
    private List<ClassA> lista;

    // getters and setters

} 
Run Code Online (Sandbox Code Playgroud)

然后在我的测试课中,使用AssertJ

   List<ClassA> lista = //... populated with list of objects of ClassA

   ClassB expected = new ClassB();
   expected.setSk(5);
   expected.setLista(lista);

   ClassB actual = getItFromTheClassToTest();   

   assertThat(actual).usingRecursiveComparison()
                    .ignoringFields("sk")  // need to ignore only classA.sk
                    .isEqualTo(expected);
Run Code Online (Sandbox Code Playgroud)

问题是该名称sk在两个类中都存在,我只需要在 中忽略它ClassA,而不是在ClassB. 这可能吗AssertJ

java junit mockito assertj

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