小编mic*_*cha的帖子

如何使用LocalDateTime解析/格式化日期?(Java 8)

Java 8添加了一个新的java.time API来处理日期和时间(JSR 310).

我有日期和时间作为字符串(例如"2014-04-08 12:30").如何LocalDateTime从给定的字符串中获取实例?

在我完成LocalDateTime对象的使用之后:如何将LocalDateTime实例转换回具有与上面所示格式相同的字符串?

java datetime timestamp java-8 java-time

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

java.lang.NoSuchMethodException:userAuth.User.<init>()

我有一个验证类:

public class User {
    @Size(min=3, max=20, message="User name must be between 3 and 20 characters long")
    @Pattern(regexp="^[a-zA-Z0-9]+$", message="User name must be alphanumeric with no spaces")
    private String name;

    @Size(min=6, max=20, message="Password must be between 6 and 20 characters long")
    @Pattern(regexp="^(?=.*[0-9])(?=.*[a-zA-Z])([a-zA-Z0-9]+)$", message="Password must contains at least one number")
    private String password;

    public User(String _name, String _password){
        super();
        name = _name;
        password = _password;
    }

    public String getName(){
        return name;
    }

    public String getPassword(){
        return password;
    }

    public void setPassword(String newPassword){ …
Run Code Online (Sandbox Code Playgroud)

java validation spring hibernate-validator

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

grails中withTransaction和withSession有什么区别?

我知道一个获取底层会话而另一个获取当前事务状态的引用; 但是,它们之间的区别是什么?每个用例的用例是什么?

我的要求是批量保存Service方法块中的一些记录.

session grails hibernate transactions grails-orm

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

Android:setInitialSavedState

我有一个使用Fragments 的标签应用程序,还有一个小问题.

MainActivity(扩展FragmentActivity- 没有为布局规范保存代码)在其布局中onCreate包含一个Fragment被调用的TabsFragment(扩展Fragment,实现OnTabChangeListener)(将标签本身放在a中FrameLayout),Fragment使用Transactions 切换子.

后者Fragments是具有实际内容的子实体,当用户转动设备,访问另一个应用程序,接听电话或执行其他操作时,我希望保存该状态.目前,子节点的状态Fragment未保存,但活动会记住Fragment正在显示哪个子节点.(因此,如果我将设备置于横向模式并在标签3处于活动状态时转动设备,则标签3将以纵向模式显示,重置,但显示.因此,某些状态正在保留,而我没有做任何事情).

因为我有多个布局(横向和纵向),所以android:configChanges="orientation"在清单中不是一个选项 - 我不想使用它,因为它是一个美化的绑带.

我使用的是V4支持库(修订版10)和精练的API后,我遇到了FragmentManager.saveFragmentInstanceState()Fragment.setInitialSavedState(Fragment f).我已经为Fragment重写onPause()方法中的每个子项设置了saveFragmentInstanceState()TabsFragment.我不确定这是否有效,因为无论我把setInitialSavedState它放在哪里,它都给出了IllegalStateException- 但即使我刚刚初始化了一个新的子Fragment标签,也会发生这种情况.它还崩溃,当我把它变成onResumeTabsFragment.

代码段:

//... this is the 'showTab' method
if(getFragmentManager().findFragmentByTag(id) == null)
{
  Fragment f = null;
  if(BASIC_TAB.equals(id))
  {
    f = …
Run Code Online (Sandbox Code Playgroud)

android android-fragments

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

使用grails标准api定义OR条件

我有以下域对象:

class User {
    String name
    Transaction transaction

    static constraints = {
        transaction nullable: true
    }
}

class Transaction {        
    boolean successful
    User user        
    static belongsTo = User
}
Run Code Online (Sandbox Code Playgroud)

我想选择所有users没有成功交易的东西.这意味着我希望没有任何transaction(transaction == null)的用户和具有成功值false(transaction.successful == false)的事务的用户.我想使用Criteria API执行此操作(因为这可以与基于用户输入的其他条件结合使用).

我试过这个:

def c = User.createCriteria()
def results = c {
    or {
        isNull 'transaction'
        transaction {
            eq 'successful', false
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

但是,这只给了我有交易的用户(成功的价值false).但我没有得到交易所在的用户null

以下代码显示了我如何创建一些示例数据:

def createUserAndTransaction(String name, Boolean successful = null) {
    User u …
Run Code Online (Sandbox Code Playgroud)

grails grails-orm hibernate-criteria

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

Spring MVC + Hibernate:来自浏览器的部分模型更新

当只显示Spring MVC模型bean的一部分时,有没有办法只在模型中更新从浏览器返回的内容?

假设我们有一个User类(当然只有这个例子中的公共属性):

public class User {
  public String firstName;
  public String lastName;
  public String email;
  public Date subscriptionExpiration;
}
Run Code Online (Sandbox Code Playgroud)

现在,我将前三个属性显示为JSP中的输入字段,并希望相应地更新数据库中的对象.只应更新这3个参数,而不是第4个参数.实现这一目标的一种方法是

@RequestMapping("/user/{userId}", method=RequestMethod.POST)
public String saveChanges(@PathVariable userId, User user, Model model) {
  User oldUser = User.loadFromDB(userId);
  oldUser.firstName = user.firstName;
  oldUser.lastName = user.lastName;
  oldUser.email = user.email;
  oldUser.saveToDB();

  model.addAttribute("user", oldUser);
}
Run Code Online (Sandbox Code Playgroud)

但这意味着硬编码所有可能改变的属性,我不太喜欢.

有没有办法根据用户允许更改的内容确定要更新的字段?该机制应该比仅仅假设请求参数中的所有内容都可以更改更聪明,否则任何精明的用户都可以手动将其他字段注入请求中.

使用@Entity(dynamicUpdate = true)并不能解决我眼中的问题,因为我没有在请求中返回整个User对象,这样做会打开很多安全漏洞.

我在Spring中错过了一个不错的功能,还是有其他方法可以在概念上解决这个问题?任何提示都非常感谢!

java spring hibernate spring-mvc

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

Spring数据Solr:IllegalArgumentException - 此参数是必需的

每当我尝试使用Spring数据存储库查询Solr时,我都会遇到以下异常:

Exception in thread "main" java.lang.IllegalArgumentException: [Assertion failed] - this argument is required; it must not be null
    at org.springframework.util.Assert.notNull(Assert.java:112)
    at org.springframework.util.Assert.notNull(Assert.java:123)
    at org.springframework.data.solr.core.convert.MappingSolrConverter$SolrPropertyValueProvider.readValue(MappingSolrConverter.java:317)
    at org.springframework.data.solr.core.convert.MappingSolrConverter$SolrPropertyValueProvider.readCollection(MappingSolrConverter.java:423)
    at org.springframework.data.solr.core.convert.MappingSolrConverter$SolrPropertyValueProvider.readValue(MappingSolrConverter.java:331)
    at org.springframework.data.solr.core.convert.MappingSolrConverter$SolrPropertyValueProvider.readValue(MappingSolrConverter.java:308)
    at org.springframework.data.solr.core.convert.MappingSolrConverter$SolrPropertyValueProvider.getPropertyValue(MappingSolrConverter.java:294)
    at org.springframework.data.solr.core.convert.MappingSolrConverter.getValue(MappingSolrConverter.java:147)
    at org.springframework.data.solr.core.convert.MappingSolrConverter$1.doWithPersistentProperty(MappingSolrConverter.java:134)
    at org.springframework.data.solr.core.convert.MappingSolrConverter$1.doWithPersistentProperty(MappingSolrConverter.java:126)
    at org.springframework.data.mapping.model.BasicPersistentEntity.doWithProperties(BasicPersistentEntity.java:257)
    at org.springframework.data.solr.core.convert.MappingSolrConverter.read(MappingSolrConverter.java:126)
    at org.springframework.data.solr.core.convert.MappingSolrConverter.read(MappingSolrConverter.java:113)
    at org.springframework.data.solr.core.convert.MappingSolrConverter.read(MappingSolrConverter.java:88)
    at org.springframework.data.solr.core.SolrTemplate.convertSolrDocumentListToBeans(SolrTemplate.java:404)
    at org.springframework.data.solr.core.SolrTemplate.convertQueryResponseToBeans(SolrTemplate.java:396)
    at org.springframework.data.solr.core.SolrTemplate.queryForPage(SolrTemplate.java:276)
    at org.springframework.data.solr.repository.query.AbstractSolrQuery$AbstractQueryExecution.executeFind(AbstractSolrQuery.java:312)
    at org.springframework.data.solr.repository.query.AbstractSolrQuery$CollectionExecution.execute(AbstractSolrQuery.java:335)
    at org.springframework.data.solr.repository.query.AbstractSolrQuery.execute(AbstractSolrQuery.java:129)
    at org.springframework.data.repository.core.support.RepositoryFactorySupport$QueryExecutorMethodInterceptor.invoke(RepositoryFactorySupport.java:323)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
    at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:98)
    at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:262)
    at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:95)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
    at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:136)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
    at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:207)
    at $Proxy15.findByTitleStartingWith(Unknown Source)
    at …
Run Code Online (Sandbox Code Playgroud)

solr spring-data spring-data-solr

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

java junit 没有 main 函数

我在使用 JUnit 4 时有一个问题。有一件事让我很困惑。为什么下面没有main函数,但是可以执行并返回测试结果?它甚至不扩展一个类。好糊涂……代码如下:

import org.junit.runner.RunWith;    
import org.junit.runners.Suite;    
import org.junit.runners.Suite.SuiteClasses;

@RunWith(Suite.class)    
@SuiteClasses({ ATest.class,BTest.class })    
public class AllTests {

}
Run Code Online (Sandbox Code Playgroud)

java reflection junit function

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

在没有g:link的情况下为grails中的链接创建字符串

在如下标签中:

<a data-url="/new/request/showText/${requestInstance.id}"> view text</a>
Run Code Online (Sandbox Code Playgroud)

有没有办法不像我那样硬编码网址?

我尝试使用<g:link action="showText" id="${requestInstance.id}">但渲染到锚标记.

我正在做什么可能会找到,但我只是好奇,如果有更好的方法在grails中这样做?

grails gsp

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

反正有没有在Grails中进行"深度保存"?

在我的服务中,我创建了一个"根"对象,它与许多对象有关联,而这些对象又与更多对象有关联,依此类推.一旦根对象完全构建并准备好保存,我想调用save根对象并将所有关联的对象一直保存下来.现在我有一个称为递归的方法deepSave.有没有更好的办法?

grails grails-orm

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

带有@Bean 注释的 BeanPostProcessor 不起作用

我正在尝试创建一个BeanPostProcessor用于将一些值注册到 Map 的。

BeanPostProcessor,如果我通过创建XML定义bean实例工作正常,但如果我的bean定义更改为@Configuration它不工作。

后处理器

public class InstantiationTracingBeanPostProcessor implements BeanPostProcessor {

  public Object postProcessBeforeInitialization(Object bean, String beanName) throws BeansException {
      return bean;
  }

  public Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException {
      System.out.println("Bean '" + beanName );
      return bean;
  }
}
Run Code Online (Sandbox Code Playgroud)

Bean 配置

import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.context.annotation.Bean;

@org.springframework.context.annotation.Configuration
public class Configuration {
    @Bean
    public @Qualifier("InstantiationTracingBeanPostProcessor")
    InstantiationTracingBeanPostProcessor activitiConfigurationBeanPostProcessor() {
        return new InstantiationTracingBeanPostProcessor();
    }
}
Run Code Online (Sandbox Code Playgroud)

组件扫描配置

<context:component-scan base-package="xyz.config"/>
<context:annotation-config/>
Run Code Online (Sandbox Code Playgroud)

如果我使用上述配置,应用程序就会挂起。但是,如果我使用下面给出的基于 xml 的配置,它就可以正常工作。

<bean class="xyz.bean.InstantiationTracingBeanPostProcessor"/>
Run Code Online (Sandbox Code Playgroud)

我在这里做错了什么?

spring spring-ioc

3
推荐指数
2
解决办法
9299
查看次数

如何使用webgl实现批量?

我正在使用 webgl 开发一个小游戏。在这个游戏中,我有某种森林,由许多(100 多个)树木对象组成。因为我只有几个不同的树模型,所以在显示它们之前我会以不同的方式旋转和缩放这些模型。

目前我遍历所有树来显示它们:

for (var tree in trees) {
  tree.display();
}
Run Code Online (Sandbox Code Playgroud)

display()树的方法如下所示:

display : function() { // tree
  this.treeModel.setRotation(this.rotation);
  this.treeModel.setScale(this.scale);
  this.treeModel.setPosition(this.position);
  this.treeModel.display();
}
Run Code Online (Sandbox Code Playgroud)

许多树对象共享同一个treeModel对象,因此每次显示模型之前我都必须设置模型的旋转/缩放/位置。每棵树的旋转/缩放/位置值都不同。

显示方法treeModel完成所有 gl 的工作:

display : function() { // treeModel
  // bind texture
  // set uniforms for projection/modelview matrix based on rotation/scale/position
  // bind buffers
  // drawArrays
}
Run Code Online (Sandbox Code Playgroud)

所有树模型都使用相同的着色器,但可以使用不同的纹理。

因为单个树模型仅由几个三角形组成,所以我想将所有树组合到一个 VBO 中,并通过一次drawArrays()调用显示整个森林。

一些使谈论数字更容易的假设:

  • 有 250 棵树可供展示
  • 有5种不同的树模型
  • 每个树模型有 50 个三角形

我有的问题:

  • 目前我有 5 个字节50 * 3 …

3d opengl-es webgl

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