我正在尝试一个简单的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控件可以转义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
谢谢
当我使用 Maven 2(版本2.0.9
或2.2.1
)构建 JAR 库pom.xml
时,库的 被复制META-INF/maven/[groupId]/[artifactId]/
到 JAR 目录中。
但是,在我的情况下,它pom.xml
有一个父级,我更愿意获得有效的 pom而不是原始pom.xml
文件(或者最终同时拥有它们)。
有没有办法做到这一点?
我想检查两个单词是非常接近的.我需要的是非常简单的:我们允许用户通过回答到电子邮件执行操作,用户应该用一个字(回答APPROVED
,REFUSED
等).可能的行动清单非常简短.现在,我必须解析这个答案,但我的比较必须是" 错字安全的 ",即如果用户输入是aproved
或者apporved
例如,它应该没问题.
当然我可以创建我自己的几乎ok的单词(["Approved", "Aproved", "Apporved", ...]
)并将用户输入与该数组的每个元素进行比较,但定义所有可能的拼写错误真的很无聊......
我知道我可以用Lucene做到这一点,但对我的需求来说似乎有点太多了,理想情况下我想有一个类似的方法WordUtils.proximity("Approved", userInput)
.此外,在我的情况下,语音比较不是强制性的.
有一个小型图书馆可以做到吗?
在我的应用程序中,我有一个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) 我有一个项目来分析哪个只基于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
).
有没有办法用这种结构进行分析?
谢谢.
我有两个独立的线程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) 我正在玩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
连接?
谢谢
我有一个具有以下结构的应用程序:
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) 我在创建富有问题时遇到了问题:我做了如下组合框
<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.
哪种正确的方法来创建具有动态值的组合框?