小编Ume*_*thi的帖子

DateFormatSymbols().getShortWeekdays()返回工作日计为8

我试图找到工作日使用DateFormatSymbols,这是一个简短的程序

String[] shortWeekdays = new DateFormatSymbols().getShortWeekdays();
        System.out.println(shortWeekdays.length);

        for (int i = 0; i < shortWeekdays.length; i++) {
            String shortWeekday = shortWeekdays[i];
            System.out.println("shortWeekday = " + shortWeekday);
        }
Run Code Online (Sandbox Code Playgroud)

而它正在给我提供输出

  • shortWeekday =
  • shortWeekday =太阳
  • shortWeekday =星期一
  • shortWeekday =星期二
  • shortWeekday =周三
  • shortWeekday =星期四
  • shortWeekday =周五
  • shortWeekday =周六

我不确定为什么它的总长度为8,而它应该给它为7

java

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

org.hibernate.PropertyAccessException:IllegalArgumentException

我正在研究hibernate映射,其他一切工作正常,除了我在hibernate试图将我的对象持久保存到系统时得到的PropertyAccessException.下面是堆栈跟踪

org.hibernate.PropertyAccessException: IllegalArgumentException occurred calling getter of com.raisonne.tr.model.destination.Destination.uuid

    org.hibernate.property.BasicPropertyAccessor$BasicGetter.get(BasicPropertyAccessor.java:195)
    org.hibernate.tuple.entity.AbstractEntityTuplizer.getIdentifier(AbstractEntityTuplizer.java:199)
    org.hibernate.persister.entity.AbstractEntityPersister.getIdentifier(AbstractEntityPersister.java:3605)
    org.hibernate.persister.entity.AbstractEntityPersister.isTransient(AbstractEntityPersister.java:3321)
    org.hibernate.engine.ForeignKeys.isTransient(ForeignKeys.java:204)
    org.hibernate.engine.ForeignKeys$Nullifier.isNullifiable(ForeignKeys.java:160)
    org.hibernate.engine.ForeignKeys$Nullifier.nullifyTransientReferences(ForeignKeys.java:92)
    org.hibernate.engine.ForeignKeys$Nullifier.nullifyTransientReferences(ForeignKeys.java:70)
    org.hibernate.event.def.AbstractSaveEventListener.performSaveOrReplicate(AbstractSaveEventListener.java:311)
    org.hibernate.event.def.AbstractSaveEventListener.performSave(AbstractSaveEventListener.java:204)
    org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:144)
    org.hibernate.event.def.DefaultSaveOrUpdateEventListener.saveWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener.java:210)
    org.hibernate.event.def.DefaultSaveOrUpdateEventListener.entityIsTransient(DefaultSaveOrUpdateEventListener.java:195)
    org.hibernate.event.def.DefaultSaveOrUpdateEventListener.performSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:117)
    org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:93)
    org.hibernate.impl.SessionImpl.fireSaveOrUpdate(SessionImpl.java:535)
    org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java:527)
    org.hibernate.engine.CascadingAction$5.cascade(CascadingAction.java:241)
    org.hibernate.engine.Cascade.cascadeToOne(Cascade.java:292)
    org.hibernate.engine.Cascade.cascadeAssociation(Cascade.java:240)
    org.hibernate.engine.Cascade.cascadeProperty(Cascade.java:193)
    org.hibernate.engine.Cascade.cascadeCollectionElements(Cascade.java:320)
    org.hibernate.engine.Cascade.cascadeCollection(Cascade.java:266)
    org.hibernate.engine.Cascade.cascadeAssociation(Cascade.java:243)
    org.hibernate.engine.Cascade.cascadeProperty(Cascade.java:193)
    org.hibernate.engine.Cascade.cascade(Cascade.java:154)
    org.hibernate.event.def.AbstractSaveEventListener.cascadeAfterSave(AbstractSaveEventListener.java:479)
    org.hibernate.event.def.AbstractSaveEventListener.performSaveOrReplicate(AbstractSaveEventListener.java:357)
    org.hibernate.event.def.AbstractSaveEventListener.performSave(AbstractSaveEventListener.java:204)
    org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:144)
    org.hibernate.event.def.DefaultSaveOrUpdateEventListener.saveWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener.java:210)
    org.hibernate.event.def.DefaultSaveOrUpdateEventListener.entityIsTransient(DefaultSaveOrUpdateEventListener.java:195)
    org.hibernate.event.def.DefaultSaveOrUpdateEventListener.performSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:117)
    org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:93)
    org.hibernate.impl.SessionImpl.fireSaveOrUpdate(SessionImpl.java:535)
    org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java:527)
    org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java:523)
    sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    java.lang.reflect.Method.invoke(Unknown Source)
    org.hibernate.context.ThreadLocalSessionContext$TransactionProtectionWrapper.invoke(ThreadLocalSessionContext.java:342)
    $Proxy17.saveOrUpdate(Unknown Source)
    com.raisonne.tr.dao.impl.GenericDAOImpl.makePersistance(GenericDAOImpl.java:170)
    com.raisonne.tr.service.impex.impl.DestinationImportServiceImpl.startDestinationImport(DestinationImportServiceImpl.java:130)
    com.raisonne.tr.backoffice.actions.impex.DestinationImportAction.destinationImport(DestinationImportAction.java:118)
    sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    java.lang.reflect.Method.invoke(Unknown Source)
    com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:452)
    com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:291)
    com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:254)
    com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:176)
    com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
    com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
    com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:263)
    org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:68)
    com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
    com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
    com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:133)
    com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)
    com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:207) …
Run Code Online (Sandbox Code Playgroud)

hibernate

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

Tomcat服务器中的Log4j FileAppender问题

我正在开发一个web应用程序,我有一个需要在运行时为我的impex进程生成日志文件.这是用例我正在验证XML文件并且验证错误由自定义错误处理程序处理.这个错误hanlde将是传递给底层验证器(Jaxb 2.x验证器),因此我必须在创建此错误hanlder的实例时创建日志文件.我们使用log4j作为日志API

这是在运行时创建日志文件的代码

XMLErrorHandler<Object> errorHandler=new XMLErrorHandler<Object>(logFileLocation);
        logFileName=errorHandler.getLogFileName();
        validator.setErrorHandler(errorHandler);
            validator.validate(source);
Run Code Online (Sandbox Code Playgroud)

我在XMLErrorHandler构造函数中创建日志文件,因为这是我在这里控制的唯一一点是日志文件创建的代码

FileAppender appender;
            try {
                appender = new FileAppender(layout, sb.toString(), false);
                log.addAppender(appender);
                log.setAdditivity(false);
                log.setLevel(Level.WARN);
            } catch (IOException e) {
                e.printStackTrace();
            }
Run Code Online (Sandbox Code Playgroud)

一切正常,文件正确创建,并由记录器写入相应的地方.但是,如果我重新启动我的服务器,实际问题就会启动,并且记录器开始将日志内容不仅附加到其当前日志文件中,而且还附加在服务器运行时为此过程创建的所有文件.以下是详细信息,假设我已经在每个日志文件中有3行的位置有3个日志(A,B,C)文件,而C是在此过程中创建的最新文件.所以,当我重新启动我的服务器时(通过重新调用我的意思是我从控制台停止了tomcat)它有些如何将数据附加到previos所有日志文件中这个fashin C仍有3行B现在有6行A现在有9行

似乎我创建的appender仍然是开放的或有参考,不确定究竟发生了什么.这方面的任何帮助都会有所帮助.

java logging log4j tomcat6

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

Java泛型和集合阅读参考

虽然我知道Generics和Collections的一些工作知识,但也可以说有一些使用Collection API的经验.

但是当涉及到一些关于泛型的好知识时,我必须说我总是依靠谷歌找到我的答案.

我正在寻找一些参考资料,以获得有关泛型和收藏的一些深入的想法,任何在线参考资料或书籍建议是最受欢迎的.

我不确定这个问题是多么有建设性,所以如果这个问题在几分钟内完成,我就没事了

java generics collections

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

使用java中的toUpperCase()将ß.cfg转换为大写

我正在尝试下面的代码

String s1 = "ß.cfg";
System.out.println (s.toUpperCase());
Run Code Online (Sandbox Code Playgroud)

我得到的输出是SS.CFG因为Unicode没有定义ß的大写版本,而我希望输出为ß.CFG.

我有什么方法可以实现这一点,提前谢谢

java

6
推荐指数
2
解决办法
4903
查看次数

在javascript中创建一个Json对象

我正在验证一个表单,我需要显示某些单选按钮,用户需要根据一些规则选择它们,可以创建多少个单选按钮是动态的,所以我不能在服务器端进行验证不能写一个预定义的java脚本代码.

每个无线电按钮将在团体被划分说required,比进一步向下它们可以分组等center,left,right等等,因此,从各组用户需要选择一个值,所以结构出来这样

-Main Group (if block needs to validate based on this e.g if key=required should validate)
  |
  Sub-group (say left, right etc)
   |
   number of radio buttons based on the sub-group
Run Code Online (Sandbox Code Playgroud)

因此,主组密钥可用于决定是否应该对此进行验证,并且基于子组密钥,我可以决定所有值将在那里并且需要验证

我打算在页面渲染时创建一个JSON对象

{"required": [
        {"center": "id1,id2,id3"},
        {"left": "id1,id2,id3"}
      ]
  "optional": [
        {"center": "id1,id2,id3"},
        {"left": "id1,id2,id3"}
      ]
};
Run Code Online (Sandbox Code Playgroud)

我不确定我认为的结构是否正确以及如何在java脚本中创建它?就像我有一个外部循环的键,而不是一个循环的子组,最后是子组中的按钮,

 for(main group key){
     for(subgroup key){
       for(list of radio button under subgroup key)
}
  }
Run Code Online (Sandbox Code Playgroud)

但不知道如何创建一个正确的结构,以便我可以稍后用jquery解析它并使用它进行验证.

任何帮助都将非常感激.

javascript jquery json

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

只读访问某些登录客户| Spring的MVC

我知道这似乎是一个奇怪的要求,但当客户想要它时意味着我们别无选择.我正在开发一个Web应用程序(电子商务),需要注册一个新客户,直到现在一切都运行良好.但是有以下情况需要

  1. 如果客户注册了某个电子邮件ID,他们将立即获得批准,并将被允许浏览,查看所有内容并允许执行任何交易.
  2. 对于其他客户群,他们可以登录,但他们只能访问该个人资料部分,也看不到产品的价格(折扣价)以及不允许进行任何交易.

由于这些用例不适用于某些类别,而是适用于整个Web应用程序,因此我不确定如何才能实现这一目标.我想到的选择很少

  1. 在spring security下添加一个新角色,对于那些只读访问权限的人,应该有这个新角色.
  2. 创建某种HandlerInterceptor在执行实际请求之前检查客户角色的方法.

但不确定我是否正在考虑正确的方向,以及我们应该如何强制执行只读访问此类客户.因为我们必须阻止这样的客户

  1. 更新他/她的个人资料
  2. 更新密码.
  3. 该配置文件中的任何其他更新
  4. 不允许客户结账
  5. 实际折扣价格不应该是可见的

java spring spring-mvc java-ee

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

HttpUnit是否已弃用/不活动/不受支持?

当我在3年前探索和使用HttpUnit时,我喜欢它的功能.虽然在3年之后没有跟踪它,但当我向我的同事提出基于它的解决方案时,他告诉我它已被弃用了?apache状态告诉它处于活动状态.如果这是真的,我无法找到.如果这是真的,我会感到震惊.在错误列表中找到并且在过去1年没有找到任何受让人.我应该从这个推断中得出结论,它已被弃用了吗?

http-unit

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

替代BeanUtils.getProperty()

我正在寻找替代BeanUtils.getProperty().only原因我想要替代是避免最终用户有一个更多的依赖.

我正在研究自定义约束,这是我的一段代码

final Object firstObj = BeanUtils.getProperty(value, this.firstFieldName);
final Object secondObj = BeanUtils.getProperty(value, this.secondFieldName);
Run Code Online (Sandbox Code Playgroud)

因为我需要从对象中获取这两个属性.没有任何第三方系统或者我需要复制这段代码BeanUtilsBean吗?

java apache-commons

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

使用Ajax登录Spring安全性

我正在尝试使用Spring Security处理基于Ajax的登录系统并且它工作正常,直到我得到了我需要配置的另一个需求authentication-success-handler,因此一旦用户通过Spring安全性进行身份验证,我就可以进行一些后期处理.

之前我没有<form-login/>用于显示登录页面.我的登录部分是一个下拉列表,它是标题部分的一部分,对于整个应用程序是常见的.

这就是我尝试配置Spring安全性的方法

<http pattern="/customer/**" auto-config="true" use-expressions="true" authentication-manager-ref="customerAuthenticationManager">
<!--<http pattern="/customer/**" auto-config="true" use-expressions="true">-->
<intercept-url pattern="/customer/logon.html*" access="permitAll" />
<intercept-url pattern="/customer/denied.html" access="permitAll"/>
<intercept-url pattern="/customer" access="hasRole('AUTH_CUSTOMER')" />
<intercept-url pattern="/customer/" access="hasRole('AUTH_CUSTOMER')" />
<intercept-url pattern="/customer/*.html" access="hasRole('AUTH_CUSTOMER')" />
<intercept-url pattern="/customer/*/*.html" access="hasRole('AUTH_CUSTOMER')" />

<form-login login-processing-url="/customer/logon.html" login-page="/shop/home.html" 
authentication-success-handler-ref="webshopAuthenticationSuccessHandler" />

<logout invalidate-session="true" 
   logout-success-url="/customer/home.html" 
    logout-url="/customer/j_spring_security_logout" />
 <access-denied-handler error-page="/customer/denied.html"/>
    </http>
Run Code Online (Sandbox Code Playgroud)

使用这些配置,当我点击具有正确凭据的登录按钮时,我收到HTTP 302错误

http://localhost:8080/shop/customer/logon.html 302 found
Run Code Online (Sandbox Code Playgroud)

不确定我究竟做错了什么?

<form id="login" method="post" accept-charset="UTF-8">
    <input id="userName" type="text" name="userName" size="30" />
    <button type="submit" class="btn">Login</button>
</form>
Run Code Online (Sandbox Code Playgroud)

Ajax代码

 var data = $(this).serializeObject();
  $.ajax({
  'type': …
Run Code Online (Sandbox Code Playgroud)

spring spring-mvc spring-security

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