小编Rom*_*las的帖子

在简单的JSF应用程序中显示空白字段的自定义错误消息

我正在尝试一个简单的JSF应用程序,我需要检查"name"字段是否为空,然后显示错误消息.

获取字段值的代码是:

<h:outputLabel value="Name"/>
<h:inputText value="#{greeting.name}" required="true">
    <f:validator validatorId="NumValidator"/>
</h:inputText>
Run Code Online (Sandbox Code Playgroud)

如果在没有输入任何内容的情况下提交字段,则程序的控制不会进入验证器类,并且它会显示默认错误消息:

j_id_jsp_869892673_1:j_id_jsp_869892673_4:验证错误:值是必需的.

如何为此显示自定义消息?

jsf message

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

Jsf控制用html标签格式化文本

大家早上好.

是否有任何jsf控件可以转义html标签?

想象一下,我在资源中有以下字符串:

text.String=lalala<br/>lelele
Run Code Online (Sandbox Code Playgroud)

我想用简单的控件在Xhtml文件上打印它,如:

<h:outputText value="#{messages['text.String']}" />
Run Code Online (Sandbox Code Playgroud)

如何获得使用html <br/>标签格式化的结果?结果应该是:

lalala
lelele
Run Code Online (Sandbox Code Playgroud)

代替:
lalala<br/>lelele

谢谢

jsf

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

在 META-INF 目录下添加有效的 pom.xml

当我使用 Maven 2(版本2.0.92.2.1)构建 JAR 库pom.xml时,库的 被复制META-INF/maven/[groupId]/[artifactId]/到 JAR 目录中。

但是,在我的情况下,它pom.xml有一个父级,我更愿意获得有效的 pom而不是原始pom.xml文件(或者最终同时拥有它们)。

有没有办法做到这一点?

maven-2

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

如何简单地检查两个单词的接近程度?

我想检查两个单词是非常接近的.我需要的是非常简单的:我们允许用户通过回答到电子邮件执行操作,用户应该用一个字(回答APPROVED,REFUSED等).可能的行动清单非常简短.现在,我必须解析这个答案,但我的比较必须是" 错字安全的 ",即如果用户输入是aproved或者apporved例如,它应该没问题.

当然我可以创建我自己的几乎ok的单词(["Approved", "Aproved", "Apporved", ...])并将用户输入与该数组的每个元素进行比较,但定义所有可能的拼写错误真的很无聊......

我知道我可以用Lucene做到这一点,但对我的需求来说似乎有点太多了,理想情况下我想有一个类似的方法WordUtils.proximity("Approved", userInput).此外,在我的情况下,语音比较不是强制性的.

有一个小型图书馆可以做到吗?

java string-comparison

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

为什么我的Angular函数在无限循环中被调用?

在我的应用程序中,我有一个input字段,如果用户输入一个特定的字符串(基本上是一个与正则表达式匹配的字符串),div则会显示一个字段.

(简化)HTML部分:

<div ng-app>
  <h2>Todo</h2>
  <div ng-controller="TodoCtrl">
      <input type="text" ng-model="searchText"/>
      <div>Hello</div>
      <div ng-show="isValid(searchText)">World !</div>
  </div>
</div>
Run Code Online (Sandbox Code Playgroud)

和我的控制器:

function TodoCtrl($scope) {
    var reg = /20\d{2}/g;    
    $scope.isValid = function(str) {
        console.log('Is valid?');
        return reg.test(str);
    }
}
Run Code Online (Sandbox Code Playgroud)

当用户输入一年(由正则表达式验证)时,我收到以下错误:

Error: [$rootScope:infdig] 10 $digest() iterations reached. Aborting!
Watchers fired in the last 5 iterations: [["isValid(searchText); newVal: true; oldVal: false"],["isValid(searchText); newVal: false; oldVal: true"],["isValid(searchText); newVal: true; oldVal: false"],["isValid(searchText); newVal: false; oldVal: true"],["isValid(searchText); newVal: true; oldVal: false"]]
http://errors.angularjs.org/1.2.1/$rootScope/infdig?p0=10&p1=%5B%5B%22isVal…2isValid(searchText)%3B%20newVal%3A%20true%3B%20oldVal%3A%20false%22%5D%5D
    at http://cdnjs.cloudflare.com/ajax/libs/angular.js/1.2.1/angular.js:78:12
    at Scope.$digest (http://cdnjs.cloudflare.com/ajax/libs/angular.js/1.2.1/angular.js:11472:19) …
Run Code Online (Sandbox Code Playgroud)

javascript angularjs

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

如何使用SonarQube分析源和测试位于相同目录中的项目

我有一个项目来分析哪个只基于Angular框架.我遇到的主要问题是源文件和测试文件都在相同的目录中,分为功能.

这是我的结构的一个例子:

+- client
|   +- features
|   |   +- home
|   |   |   +- home.js          [source code]
    |   |   +- home.spec.js     [test code]
        |   +- home.html
        |   +- home.less
        +- admin
        |   +- admin.js         [source code]
        |   +- admin.spec.js    [test code]
        |   +- admin.html
        |   +- admin.less
        ...
Run Code Online (Sandbox Code Playgroud)

在我sonar-project.properties看来,似乎不可能设置模式而不是路径(例如sonar.tests=client/**/*.spec.js).

有没有办法用这种结构进行分析?

谢谢.

javascript sonarqube

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

将文件写入磁盘时锁定文件

我有两个独立的线程F1和F2(确切地说,两个java.util.concurrent.FutureTask实例)并行运行.

F1进行一些处理,然后将结果复制到XML文件中.然后,它重复这些步骤,直到它无关(创建了许多XML文件).F2查看F1输出目录,取一个文件,解析它,并对其执行一些处理.

这非常有效,除了有时F2从文件中获取截断的XML数据.我的意思是一个不完整的XML,其中一些XML节点不存在.问题是它并不总是可再现的,并且被截断的文件并不总是相同的.因此,我认为当F1在磁盘上写入一个文件时,F2正在尝试读取同一个文件.这就是为什么有时我会遇到这种错误.

我的问题:我想知道是否有一些机制锁定(甚至读取)文件F1当前正在写入,直到它完全完成将其写入磁盘,因此在文件解锁之前F2将无法读取它.或任何其他方式来解决我的问题将是受欢迎的!

F1正在以这种方式编写文件:

try {
    file = new File("some-file.xml");
    FileUtils.writeStringToFile(file, xmlDataAsString);
} catch (IOException ioe) {
    LOGGER.error("Error occurred while storing the XML in a file.", ioe);
}
Run Code Online (Sandbox Code Playgroud)

F2正在以这种方式读取文件:

private File getNextFileToMap() {
    File path = getPath(); // Returns the directory where F1 stores the results...
    File[] files = path.listFiles(new FilenameFilter() {
        public boolean accept(File file, String name) {
            return name.toLowerCase().endsWith(".xml");
        }
    });
    if (files.length > 0) {
        return files[0];
    }
    return null;
}

// Somewhere in my …
Run Code Online (Sandbox Code Playgroud)

java file-io file-locking java.util.concurrent

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

配置播放!2个模型在多个数据库环境中使用特定数据库

我正在玩Play!2.0.4(Java版),我需要访问2个不同的数据库(实际上是2个独立的模式).所以在我看来application.conf,我已经定义了:

db.default.driver=oracle.jdbc.OracleDriver
db.default.url="jdbc:oracle:thin:@server:1234:SCHEMA1"
db.default.user=user1
db.default.password=password1

db.bar.driver=oracle.jdbc.OracleDriver
db.bar.url="jdbc:oracle:thin:@server:1234:SCHEMA2"
db.bar.user=user2
db.bar.password=password2
Run Code Online (Sandbox Code Playgroud)

现在,我有一个模型,我需要与数据库链接bar.

@Entity
@Table(name = "T_BAR")
public class Bar extends Model {

    ...

    public static Finder<Integer, Bar> finder = new Finder<Integer, Bar>(Integer.class, Bar.class);

    public static Bar findOne() {
        return finder.where().[some conditions].findUnique();
    }

}
Run Code Online (Sandbox Code Playgroud)

当然这不会起作用,因为Play将尝试访问default连接中定义的数据库.

所以我的问题是如何配置我Model总是使用bar连接?

谢谢

java playframework-2.0

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

Sonarqube没有从LCOV检索我的JavaScript报道

我有一个具有以下结构的应用程序:

my-application
  +- pom.xml
  +- app
  |   +- scripts
  |   |   +- app.js
  |   |   +- **/*.js
  |   +- 3rd-party-libs
  +- build
  +- node_modules
  +- test
Run Code Online (Sandbox Code Playgroud)

我创建了pom.xml唯一一个运行SonarQube分析的人.否则,所有任务都由Grunt运行(测试与Karma一起运行).

内容pom.xml如下:

<properties>
    <sonar.language>js</sonar.language>
    <sonar.sourceEncoding>UTF-8</sonar.sourceEncoding>
    <sonar.javascript.coveragePlugin>lcov</sonar.javascript.coveragePlugin>
    <sonar.javascript.lcov.reportPath>build/karma/coverage/lcov.info</sonar.javascript.lcov.reportPath>
    <sonar.exclusions>app/3rd-party-libs/**,node_modules/**</sonar.exclusions>
    <sonar.dynamicAnalysis>reuseReports</sonar.dynamicAnalysis>
</properties>

<build>
    <sourceDirectory>app/scripts</sourceDirectory>
    <testSourceDirectory>test</testSourceDirectory>
</build>
Run Code Online (Sandbox Code Playgroud)

当我运行时grunt test,它创建一个build/karma/coverage/lcov.info包含以下信息:

TN:
SF:./app/scripts/app.js
FN:16,(anonymous_1)
FN:26,(anonymous_2)
FNF:2
...
Run Code Online (Sandbox Code Playgroud)

在SonarQube分析之后,仪表板显示0%的代码覆盖率.

我怀疑它中的路径SF:是错误的来源.因此,我已经改变了sonar.javascript.lcov.reportPath财产使用另一个lcov.info测试不同的值:app.js,./app.js,app/scripts/app.js,./app/scripts/app.js,但没有工作,保持覆盖率为0%.

我错过了什么?

为了以防万一,我在我的配置中有以下配置karma.conf.js:

coverageReporter: {
  reporters: [ …
Run Code Online (Sandbox Code Playgroud)

javascript code-coverage lcov sonarqube karma-coverage

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

在Richfaces中创建一个组合框

我在创建富有问题时遇到了问题:我做了如下组合框

<rich:comboBox selectFirstOnUpdate="false" defaultLabel="Enter some value">
    <f:selectItems value="#{userregister.selectItems}" />
</rich:comboBox>
Run Code Online (Sandbox Code Playgroud)

在支持bean中,我创建了selectItems,如下所示

 List<UISelectItem> selectItems;
 UISelectItem uisi = new UISelectItem();
 uisi.setItemLabel("label");
 uisi.setValue("value");
 selectItems.add(uisi);
Run Code Online (Sandbox Code Playgroud)

但我得到的异常是javax.servlet.ServletException: Value of tag <selectItems> attribute is incorrect.哪种正确的方法来创建具有动态值的组合框?

jsf richfaces

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