小编Red*_*ddy的帖子

JSTL计算ForEach循环

我正在尝试为项目列表中的每4项打印一些消息

<c:forEach items="${categoryList}" var="category" varStatus="i">
    <c:if test="${i%4 == 0}">
        <c:out value="Test" />
    </c:if>
    <div class="span3">
        <c:out value="a" />
    </div>
</c:forEach>
Run Code Online (Sandbox Code Playgroud)

但我得到以下异常,似乎i不被视为数字

java.lang.IllegalArgumentException: Cannot convert javax.servlet.jsp.jstl.core.LoopTagSupport$1Status@3371b822 of type class javax.servlet.jsp.jstl.core.LoopTagSupport$1Status to Number
    at org.apache.el.lang.ELArithmetic.coerce(ELArithmetic.java:407)
    at org.apache.el.lang.ELArithmetic.mod(ELArithmetic.java:291)
    at org.apache.el.parser.AstMod.getValue(AstMod.java:41)
    at org.apache.el.parser.AstEqual.getValue(AstEqual.java:38)
Run Code Online (Sandbox Code Playgroud)

我该如何实现这一目标?

一种方法是在scriplets的帮助下为每个循环声明一个变量和增量.但我想避免这个!

java foreach jsp jstl

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

Maven/Gradle列出编译类

MavenGradle如果我没有弄错的话,两者都默认使用增量构建.

  • 对于新建/第一次构建,它将构建所有类文件.
  • 在没有任何更改的情况下进行下一次构建时,它不构建任何类文件.
  • 如果我修改A.java,它将重新编译该模块.

有没有选项来获取在此版本中编译的类文件列表?

java build gradle maven

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

Java FutureTask完成检​​查

我检查了Oracle Java API,它给出了FutureTask.isDone()的一些信息.

但我需要检查任务是否已完成或因任何错误而终止.isDone()方法即使完成/终止也会返回.但我需要知道它是否由于某些问题而完成或终止.

java futuretask

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

适用于Java开发人员的Log File Analyzer

很抱歉提出这个问题.但我认为需要更新最佳的日志分析工具列表.

我用过BairTail.它简单而快速.但是开发在2007年停止了,之后再也没有更新,也没有为免费用户提供搜索功能

然后转移到LogExpert,这是很好的免费搜索功能.但是当日志大小超过2-3mb并且滚动很痛苦时,它太慢了

Apache Chainsaw,除了它来自Apache之外,我想说开发人员想要快速分析日志而不进行所有正则表达式和手动工作非常困难.它与正常使用的偏差太大而且很慢

请建议一个好/最好的日志分析工具[免费软件]

  1. 必须使用简单搜索功能和突出显示
  2. 应该用最少的cpu资源顺利运行
  3. 它将用于分析30-50mb文件
  4. 滚动和GUI友好.我在windows环境中使用,只需要GUI工具

windows logging log4j

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

Eclipse 调试过滤不需要的包

我已经使用 Eclipse 进行开发 2 年了,但是在调试过程中我仍然很难理解这个过滤器概念。

我通常在远程端口模式下调试。

大多数时候,My Eclipse 会捕获不需要的包中的断点/异常 [包通常来自 Spring、Java ThreadPool 等其他来源],并通过调出调试窗口来惹恼我。

I would like to configure Eclipse to catch breakpoints in my package only. Just ignore any where else, don't halt them or notify me.

java eclipse debugging filtering breakpoints

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

Hibernate One to Many Mapping试图将映射列更新为null

我正在使用下面的映射

@Entity
@Table(name = "test")
public class TestOrder implements Serializable {

    @Id
    @Column(name = "orderid", updatable = false)
    protected Long orderId;

    @OneToMany(cascade = {CascadeType.ALL})
    @JoinColumn(name = "order_id_fk")
    private List<TestDetails> details;

//getters and setters
}

@Entity
@Table(name="test_details")
public class TestDetails implements Serializable {

    @Id
    //Generator
    @Column(name = "id", updatable = false, insertable = false)
    protected Long id;

    @Column(name="order_id_fk", updatable = false)
    private Long orderId;
//getters and setters
}
Run Code Online (Sandbox Code Playgroud)

当我更新/插入数据时,它正在尝试将数据更新order_id_fk为null

SQL [update test_details set order_id_fk'='null where order_id_fk'='? and id'='?]; constraint …
Run Code Online (Sandbox Code Playgroud)

java spring annotations hibernate jpa

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

Jackson Object Mapper从Java 7到Java 8的版本问题

我正在尝试将Java版本升级1.71.8.除了在Maven插件中将目标版本升级到1.8之外,没有更改任何代码.

Error: cannot access Versioned.

资源:

private ObjectMapper mapper = new ObjectMapper();
return mapper.writeValueAsString(data);
Run Code Online (Sandbox Code Playgroud)

无法在互联网上的任何地方找到任何文档.我认为1.8应该完全向后兼容.

编辑:如果我没有改变pom,如果我将我的本地maven设置为Java 8,它仍然会破坏.所以用Java 8编译有问题:(

[INFO] |  +- com.fasterxml.jackson.core:jackson-annotations:jar:2.2.2:compile
[INFO] |  +- org.codehaus.jackson:jackson-core-asl:jar:1.1.0:compile
[INFO] +- com.fasterxml.jackson.core:jackson-core:jar:2.2.2:compile
[INFO] +- com.fasterxml:jackson-xml-databind:jar:0.6.2:compile
[INFO] |  +- org.codehaus.jackson:jackson-mapper-asl:jar:1.9.2:compile
[INFO] |  +- org.codehaus.jackson:jackson-xc:jar:1.9.2:compile
[INFO] +- com.fasterxml.jackson.core:jackson-databind:jar:2.2.2:compile
[INFO] |  +- com.fasterxml.jackson.core:jackson-annotations:jar:2.2.2:compile
[INFO] |  +- org.codehaus.jackson:jackson-core-asl:jar:1.1.0:compile
[INFO] +- com.fasterxml.jackson.core:jackson-core:jar:2.2.2:compile
[INFO] +- com.fasterxml:jackson-xml-databind:jar:0.6.2:compile
[INFO] |  +- org.codehaus.jackson:jackson-mapper-asl:jar:1.9.2:compile
[INFO] |  +- org.codehaus.jackson:jackson-xc:jar:1.9.2:compile
[INFO] +- com.fasterxml.jackson.core:jackson-databind:jar:2.2.2:compile
[INFO] |  +- com.fasterxml.jackson.core:jackson-annotations:jar:2.2.2:compile …
Run Code Online (Sandbox Code Playgroud)

java upgrade jackson java-8

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

NodeJS 没有序列化 ES6 Map

这是我javascript正在执行的示例代码node.js

let commutertrip = new Map();
let t = {
    userId: 1,
    capacity: 4,
    commuteId: 1,
    endTime: new Date(),
    id: 1,
    status: "QUEUED",
    startTime: new Date(),
    price: 100
};
commutertrip.set(1, t);
let trip = {
    id: 2,
    poolerId: 3,
    poolerTrip: {
        capacity: 4,
        commuteId: 8,
        id: 1,
        endTime: new Date(),
        startTime: new Date(),
        status: "QUEUED",
        price: 55,
        userId: 1
    },
    commuterTrip: commutertrip,
    status: "QUEUED"
};
console.log(JSON.stringify(trip));
Run Code Online (Sandbox Code Playgroud)

输出

{"id":2,"poolerId":3,"poolerTrip":{"capacity":4,"commuteId":8,"id":1,"endTime":"2016-07-27T06:59:51.773Z","startTime":"2016-07-27T06:59:51.773Z","status":"QUEUED","price":55,"userId":1},"commuterTrip":{},"status":"QUEUED"}
Run Code Online (Sandbox Code Playgroud)

我没有找到如何解决这个问题?相同的代码在这里javascript工作正常 这是节点参数node --debug-brk=33172 --nolazy --harmony …

javascript dictionary node.js ecmascript-6

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

具有功能的 Polly 重试策略不等待结果

我正在尝试将我现有的函数转换为 Polly Retry 策略

public static T Execute<T>(Func<T> getTask) where T : Task
{
    var retryCount = 3;
    while (retryCount-- > 0)
    {
        try
        {
            getTask().Wait();
            return getTask();
        } catch(Exception ex){
            // handle retry
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

转换成这个

public static T Execute<T>(Func<T> func) where T : Task
{
    var task = func();
    Policy.Handle<HttpRequestException>()
        .Or<TimeoutException>()
        .WaitAndRetryAsync(
            3,
            retryAttempt => TimeSpan.FromSeconds(Math.Pow(5, retryAttempt)),
            (exception, timeSpan, retryCount, context) =>
            {
                //do some logging
            })
        .ExecuteAsync(func).Wait();
    return task;
}
Run Code Online (Sandbox Code Playgroud)

和测试代码是

var retryCount = 0;
var …
Run Code Online (Sandbox Code Playgroud)

c# policy retrypolicy polly

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

连接List中所有Maps的String值

我正在努力调整Lambda的功能,但是在这里和那里很少有挣扎.

List<Map<String, String>> list = new LinkedList<>();
Map<String, String> map = new HashMap<>();
map.put("data1", "12345");
map.put("data2", "45678");
list.add(map);
Run Code Online (Sandbox Code Playgroud)

我只想以逗号分隔格式打印值 12345,45678

所以这是我的审判

list.stream().map(Map::values).collect(Collectors.toList()) //Collectors.joining(",")
Run Code Online (Sandbox Code Playgroud)

而输出是[[12345,45678]].这意味着,有一个列表和内部列表,它在0索引处创建逗号分隔值.我明白为什么会这样做.

但是我没有通过如何提取我想要的结果,除非我.get(0)在表达式的末尾调用.

任何有关如何更好地使用lambdas的帮助/更多见解将会有所帮助

java lambda java-8 java-stream

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