小编Sha*_*mud的帖子

关于spring webflow执行密钥的混淆,背后的语义是什么

最近,我查看了spring 2.3 webflow预订面孔演示,我发现每次点击"浏览"酒店详细信息时都会分配不同的流程执行密钥.

当我搜索酒店和页面到搜索结果的第5页时,我得到一个URL execution=e1s2.然后我点击浏览酒店详细信息,我得到一个URL execution=e1s3.但是,当我单击"返回搜索"按钮时,我发现页面被定向到带有execution=e1s4URL 的搜索列表的第一页,并且错过了分页状态.但是,浏览步骤在具有酒店搜索行为的相同流程定义中定义,并且在流程范围内定义了分页var.

我的问题是新的执行密钥参数是否意味着新的流程执行?什么是语义?如果是这样,当我单击"返回搜索"按钮时,如何配置以保持相同的流程执行.

谢谢

spring-webflow

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

Spring 4.2.3.RELEASE和Hibernate 5.0.4.Final兼容性问题

有没有人一起配置Spring 4.2.3.RELEASE和Hibernate 5.0.4.Final?来自Spring的官方文档说从版本4.2开始支持Hibernate版本5.但是如果将它们配置在一起我总是得到以下异常

Exception in thread "main" java.lang.NoSuchMethodError: org.springframework.aop.framework.autoproxy.AutoProxyUtils.determineTargetClass(Lorg/springframework/beans/factory/config/ConfigurableListableBeanFactory;Ljava/lang/String;)Ljava/lang/Class;
at org.springframework.context.event.EventListenerMethodProcessor.afterSingletonsInstantiated(EventListenerMethodProcessor.java:78)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:792)
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:838)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:537)
at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:139)
at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:83)
at me.shafin.sustord.dao.App.main(App.java:8)
Run Code Online (Sandbox Code Playgroud)

这是pom.xml

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.springframework.samples.service.service</groupId>
<artifactId>RokomiMoc</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>war</packaging>


<properties>

    <!-- Generic properties -->
    <java.version>1.8</java.version>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>

    <!-- Web -->
    <jsp.version>2.3.1</jsp.version>
    <jstl.version>1.2</jstl.version>
    <servlet.version>3.1.0</servlet.version>


    <!-- Spring -->
    <spring-framework.version>4.2.3.RELEASE</spring-framework.version>
    <spring-security.version>3.2.5.RELEASE</spring-security.version>

    <!-- Hibernate -->
    <hibernate-framework.version>5.0.4.Final</hibernate-framework.version>

    <!-- Validator -->
    <hibernate.validator.version>5.0.1.Final</hibernate.validator.version>
    <javax.validation.version>1.1.0.Final</javax.validation.version>

    <!-- File upload -->
    <commons-fileupload.version>1.3.1</commons-fileupload.version>

    <!-- Logging -->
    <logback.version>1.0.13</logback.version>
    <slf4j.version>1.7.5</slf4j.version>

    <!-- Test -->
    <junit.version>4.11</junit.version>
    <maven.compiler.source>1.8</maven.compiler.source>
    <maven.compiler.target>1.8</maven.compiler.target>
</properties>

<dependencies> …
Run Code Online (Sandbox Code Playgroud)

java spring hibernate spring-mvc maven

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

java8 按键减少的地图列表

我有一个地图列表如下。

我想按键对条目集进行分组,如果键不存在,则填写 0。

    List<Map<String, Double>> props = Lists.newArrayList();
    Map<String, Double> m1 =  Maps.newHashMap();
    m1.put("a", 0.1);
    m1.put("b", 0.5);
    m1.put("c", 0.6);

    Map<String, Double> m2 =  Maps.newHashMap();
    m2.put("a", 0.3);
    m2.put("d", 0.1);

    Map<String, Double> m3 = Maps.newHashMap();
    m3.put("a", 0.2);

    props.add(m1); props.add(m2); props.add(m3);
Run Code Online (Sandbox Code Playgroud)

预期结果:

{a=[0.1, 0.3, 0.2], b=[0.5, 0, 0], c=[0.6,0,0], d=[0,0.1,0]}
Run Code Online (Sandbox Code Playgroud)

我有个主意:

  1. 找到所有不同的键
  2. 用值 0 填充每个缺失键的映射
  3. groupby 键,值映射到列表

有什么好主意吗?

java java-8

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

mysql-connector 8.0 中需要通过 `Class.forName()` 注册驱动程序吗?

我从JDBC 4.0 就已经知道了。JDK 6一样,在类路径中找到的驱动程序会自动加载。这就是我们在创建 JDBC 连接时习惯忽略该Class.forName(dbDriver);行代码的原因。

但最近我安装了MySQL Server 8.0.11并将驱动程序更新到 在tomcat 8.5.30mysql-connector-java:8.0.11上运行的简单 Servlet 项目中。但这给了我臭名昭著的例外

java.sql.SQLException: No suitable driver found for 
jdbc:mysql://localhost:3306/mysql at ...
Run Code Online (Sandbox Code Playgroud)

但我所有的代码之前都工作正常。然后我添加了Class.forName("com.mysql.jdbc.Driver");

它有效。我想我没有错过任何事情。谁能向我解释一下这可能是什么原因?

java servlets jdbc mysql-8.0

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