小编cld*_*djr的帖子

在JSR-303自定义验证器中未自动装配的依赖关系

我有一个包含User类的Spring Boot应用程序 - 所有字段都有标准的JSR-303注释(@ NotNull,@ Size等),并且验证工作正常.

但是,当我向User添加自定义验证时,我无法将依赖注入到自定义验证器中:

@Component
public class UniqueUsernameValidator implements 
ConstraintValidator<UniqueUsername, String> {

@Autowired
private UserRepository userRepository;

@Override
public boolean isValid(String username, ConstraintValidatorContext context) {
    // implements logic
}
Run Code Online (Sandbox Code Playgroud)

@UniqueUsername注释声明为:

@Documented
@Retention(RUNTIME)
@Target({FIELD, ANNOTATION_TYPE, PARAMETER})
@Constraint(validatedBy = UniqueUsernameValidator.class)
@interface UniqueUsername {
   String message() default "{com.domain.user.nonUniqueUsername}";
   Class<?>[] groups() default { };
   Class<? extends Payload>[] payload() default { };
}
Run Code Online (Sandbox Code Playgroud)

带注释的字段:

@NotBlank
@Size(min = 2, max = 30)
@UniqueUsername
private String username;
Run Code Online (Sandbox Code Playgroud)

验证器用法:

@Service
public final class UserService {

   private …
Run Code Online (Sandbox Code Playgroud)

java spring bean-validation

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

关于Tomcat的JSF - 为什么会这样?

我有一个简单的问题(愚蠢 - 我的耻辱:)

据我所知,Tomcat是一个实现Servlet/JSP规范的Web容器.Tomcat不是一个全功能的Java EE应用服务器 - 因此,我无法在Tomcat上部署和运行基于EJB的应用程序.

到现在为止还挺好.

但是......我能够在Tomcat上部署和运行JSF应用程序.JSF - 据我所知 - 它是Java EE的一部分,并由EJB"支持"(例如,您使用无状态/有状态bean).

结论:为什么我能够运行由EJB支持的JSF应用程序,而不能部署"常规"EJB应用程序(即非JSF).

在此先感谢=)

java jsf tomcat ejb java-ee

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

Cordova s​​plashscreen未在Android上显示

我是Cordova的新手,我正试图在Android上使用闪屏.我已经按照一些教程写了这封信,并在这里回顾了问题,但它还没有成功.

我正在使用'Cordova CLI'方法 - 这是我的/config.xml:

   <?xml version='1.0' encoding='utf-8'?>
<widget id="com.example.hello" version="0.0.1" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
    <name>HelloWorld</name>

    <preference name="SplashScreen" value="screen" />       
    <preference name="SplashScreenDelay" value="2000" />    

    <description>
        A sample Apache Cordova application that responds to the deviceready event.
    </description>
    <author email="dev@cordova.apache.org" href="http://cordova.io">
        Apache Cordova Team
    </author>
    <content src="index.html" />
    <plugin name="cordova-plugin-whitelist" spec="1" />
    <access origin="*" />
    <allow-intent href="http://*/*" />
    <allow-intent href="https://*/*" />
    <allow-intent href="tel:*" />
    <allow-intent href="sms:*" />
    <allow-intent href="mailto:*" />
    <allow-intent href="geo:*" />
    <platform name="android">

        <allow-intent href="market:*" />

        <splash src="res/screen/android/splash-logo.png" density="land-hdpi"/>
        <splash src="res/screen/android/splash-logo.png" …
Run Code Online (Sandbox Code Playgroud)

android cordova

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

如何使用JAX-WS生成WSDL 2.0

这个问题可能很愚蠢,但我还没有找到一种方法来获取由JAX-WS RI Web服务生成的WSDL 2.0.

我一直在使用最新的jax-ws版本,如果我创建一个非常简单的WS(例如下面的例子),生成的WSDL将是版本1.1.

    @WebService
    public interface RandomNumberGenerator {

        Integer getRandomNumber();

    }

    @WebService(endpointInterface="RandomNumberGenerator")
    public class RandomNumberGeneratorImpl {

       public Integer getRandomNumber() {
            return (int) (Math.random() * 1000);
       }    
    }
Run Code Online (Sandbox Code Playgroud)

有谁知道我如何明确告诉JAX-WS生成WSDL 2.0?考虑到2.0是自2007年以来的W3C推荐,我非常有信心JAX-WS提供了一种生成它的方法.

谢谢.

w3c wsdl web-services jax-ws

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

无法直接从浏览器访问Angular Component

我有一个使用Angular 1.5组件的小型Web应用程序。当我启动服务器时,浏览器会将我重定向到http://127.0.0.1:50001/welcome,这是预期的,并显示欢迎页面。例如,如果要创建一个新用户,请单击链接,URL更改为http://127.0.0.1:50001/welcome/newUser,然后出现新用户表格。

当我尝试直接访问URL(或刷新页面)时,就会发生此问题-该页面根本无法加载。控制台中没有出现错误-没有任何反应。

我的配置如下:

根成分:

.component('webGuiComponent', {
  template: '<ng-outlet></ng-outlet>',
  $routeConfig: [
    { path: '/welcome/...', name: 'Welcome', component: 'welcomeComponent', useAsDefault: true }
  ]
})

.value('$routerRootComponent', 'webGuiComponent');
Run Code Online (Sandbox Code Playgroud)

欢迎组件:

.component('welcomeComponent', {
  template: '<header></header><ng-outlet></ng-outlet>',
  $routeConfig: [
    { path: '/', name: 'Index', component: 'indexComponent', useAsDefault: true },
    { path: '/newUser', name: 'NewUser', component: 'newUser' }
  ]
})

.component('indexComponent', {
  templateUrl: '/app/components/welcome/index.html'
});
Run Code Online (Sandbox Code Playgroud)

新的用户组件:

.component('newUser', {
  controller: 'userController',
  templateUrl: '/app/components/user/new.html'
})
Run Code Online (Sandbox Code Playgroud)

导航链接使用标准的ng-links:

<a class="navbar-brand" ng-link="['/Welcome/Index']">Web GUI</a>
<a class="navbar-brand" ng-link="['/Welcome/NewUser']">Sign Up</a>
Run Code Online (Sandbox Code Playgroud)

有谁知道为什么通过ng-link完成导航而不是直接访问URL时导航有效?

angularjs

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

标签 统计

java ×2

android ×1

angularjs ×1

bean-validation ×1

cordova ×1

ejb ×1

java-ee ×1

jax-ws ×1

jsf ×1

spring ×1

tomcat ×1

w3c ×1

web-services ×1

wsdl ×1