小编ale*_*der的帖子

Jsoup select不返回所有节点

我刚刚开始在这个网站上使用jsoup,并且发生了一些奇怪的事情.

我想要的是选择列标题下的文本,您可以使用以下html找到它:

<div class="Table1_A1 grow clear-fix">
    <div class="grd-col grd-col-1a"> … </div>
    <div class="grd-col grd-col-2b">
       <p>
         <span class="T1">
                <a href="...."> TITLE TEXT IS HERE
                </a>
          </span>
        </p>
     </div>
     ...
</div>
Run Code Online (Sandbox Code Playgroud)

看看这个html结构,我想出了以下jsoup选择:

try {
  Document htmlDocument = Jsoup.connect(url).get();
  Elements as = htmlDocument.select("div.grow > div.grd-col-2b > p > span.T1 > a");
  System.out.println(as.html());

} catch (IOException e) {
    e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)

事情就是这样:它只打印到标题"尽快",但之后有负载,它们根本就没有出现.所以我想知道,jsoup".select()"对它返回的节点有限制吗?我不知道如何解决这个问题,任何帮助都非常感激.

java jsoup

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

使用Postfix通过Java发送电子邮件

我目前正在开发基于Java EE,JSF,EJB等的Web应用程序.这个应用程序是Debian 7.6上的deployd,并且安装了Postfix.

我可以使用这样的东西通过命令行发送电子邮件:

/ usr/bin/mailx -s"SUBJECT"-a"From:from@email.de"to@email.de

到目前为止这是有效的.

我的尝试是,使用这一行并在Java中将其作为linux命令运行.那是对的吗?

我可以使用JavaMail(通过postfix发送电子邮件),如果是这样,我该如何为此设置配置?

我真的很喜欢我的web应用程序的这一部分.也许你可以帮我找出最好的解决方案.

java email postfix-mta

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

如何启用/禁用JSF命令按钮

场景如下所示:

屏幕上有两个按钮,比如button1和button2.在页面加载时,button2被禁用.当用户单击button1时,将启用button2.我使用javascript window.onload事件和button1上的onclick事件实现了这个功能.我的问题是,当用户点击button1时,它会触发页面重新加载.话虽如此,在重新加载页面后,由于onload事件,button2被禁用.

有没有其他方法来实现此功能?

顺便说一句,我正在使用primefaces.

jsf primefaces

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

将<f:convertDateTime>与<h:commandLink>一起使用

我看到BalusC提供的这个例子:

<h:outputText value="#{bean.calendar.time}">
    <f:convertDateTime type="both" dateStyle="long" />
</h:outputText>
Run Code Online (Sandbox Code Playgroud)

怎么用< h:commandLink>

我试过了:

<h:commandLink value="#{question.creationDate.time}"
    action="#{managerBean.searchQuestion()}">
  <f:convertDateTime type="both" dateStyle="short" />
  <f:setPropertyActionListener target="#{managerBean.questionID}"
    value="#{question.ID}" />
</h:commandLink>
Run Code Online (Sandbox Code Playgroud)

jsf datetime commandlink

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

o:在数据库中删除或更新实际图像时,graphicImage不会更改

我正在尝试显示存储在数据库中的内容.我有一个<o:graphicImage value="#{image.getById(1)}" />.

注意:ID(1)仅用于测试.

我的财产看起来像:

@Lob
private byte[] image;
Run Code Online (Sandbox Code Playgroud)

我的dao /服务是这样的:

@Name
@ApplicationScoped
public class Images {

    @Inject
    private UserDAO userDAO;

    public byte[] getById(int id) {
        return userDAO.getUserByID(id).getImage();
    }
Run Code Online (Sandbox Code Playgroud)

针对具体问题:

我刚刚实现了这一点,图像显示正确.我手动将图像设置到NULL数据库中.

我的假设:没有找到图像,也没有显示图像(或者没有找到典型的"图像"图像).

但是:显示旧图像.即使重新启动服务器并清理干净.没有改变.我试图将其他图像上传到数据库 - 结果相同.

这里有什么问题?我的错在哪里?我怎样才能解决这个问题?

jsf graphicimage omnifaces

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

在<p:messages>中显示<p:fileUpload>验证错误

我有一个隐藏的<p:fileUpload>,通过打开<h:outputLabel>.

<p:messages id="message" autoUpdate="true" />

<h:form id="form">

    <p:fileUpload id="file-input" auto="true"
        allowTypes="/(\.|\/)(gif|jpe?g|png)$/" sizeLimit="10"
        invalidSizeMessage="wrong size" fileUploadListener="#{bean.image}"
        update="@form message" style="display: none;"
        invalidFileMessage="wrong file" />

    <h:outputLabel for="file-input_input">
        <h:graphicImage name="images/dummy.jpg" />
     </h:outputLabel>

    <h:outputText value="#{bean.file.fileName}" />
    <br />
    <h:outputText value="#{bean.file.size}" />
</h:form>
Run Code Online (Sandbox Code Playgroud)

不幸的是,验证失败后没有显示任何消息(例如无效的大小或无效的文件).这些消息显示在<p:fileUpload>内容框内而不是内容框中<p:messages>.

如何在内部<p:messages>而不是在内部显示这些消息<p:fileUpload>

jsf file-upload primefaces

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

避免在ManagedBeans中重复代码的建议方法是什么?

至于良好的用户反馈,我在我的webapplication中使用多个站点上的消息.

要添加消息,我只需使用:

FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(type, "", message));
Run Code Online (Sandbox Code Playgroud)

我为type和添加了变量message,因为它取决于不同的验证.

好吧,我使用不同ManagedBeans的网站,这是正常的.

我想到了,在不同的地方添加这些消息的最佳做法是什么ManagedBeans.

目前,我总是使用上面的代码片段超过30次(并且它将变得越来越肯定).

我应该创建带SessionScoped注释的Bean 还是@ApplicationScoped?你有其他任何提示吗,我应该知道吗?

jsf java-ee jsf-2

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

使用JPA条件API进行日期比较

我有一个带有两个日期的范围日期选择器:startend,两个日期都可以为空。我想过滤一张表,其中实体有一个确切的日期:date

因此,这里有一些例子。我想比赛。想象要匹配的日期是当前日期(17/07/2016)。

  • null-17/07/2016->比赛
  • 17/07/2016-空->匹配
  • 2016/07/17-2016/07/17->比赛
  • null-null->全部匹配

在我看来,这些都是极端情况,也是我之所以如此努力的原因。

实际上我的代码如下:

CriteriaBuilder cb = getEm().getCriteriaBuilder();
CriteriaQuery<Transaction> cq = cb.createQuery(Transaction.class);
Root<Transaction> root = cq.from(Transaction.class);

List<Predicate> predicates = new ArrayList<>();

Predicate startPredicate = cb.greaterThanOrEqualTo(root.get(Transaction_.date), start);
Predicate endPredicate = cb.greaterThanOrEqualTo(root.get(Transaction_.date), end);

predicates.add(startPredicate);
predicates.add(endPredicate);
cq.select(root).where(predicates.toArray(new Predicate[] {}));

TypedQuery<Transaction> query = getEm().createQuery(cq);
query.setFirstResult(firstRow);
query.setMaxResults(maxRow);
List<Transaction> resultList = query.getResultList();
Run Code Online (Sandbox Code Playgroud)

我想得到这样的查询:

CriteriaBuilder cb = getEm().getCriteriaBuilder();
CriteriaQuery<Transaction> cq = cb.createQuery(Transaction.class);
Root<Transaction> root = cq.from(Transaction.class);

List<Predicate> predicates = new ArrayList<>();

Predicate startPredicate = cb.greaterThanOrEqualTo(root.get(Transaction_.date), start);
Predicate …
Run Code Online (Sandbox Code Playgroud)

jpa date criteria-api

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

mvn clean install 抛出错误 - 文件先前尚未格式化。请在运行验证之前格式化文件并提交

创建新文件后,我开始收到错误“无法执行目标 net.revelc.code.formatter:formatter-maven-plugin:2.8.1:validate 文件之前尚未格式化。请在运行验证之前格式化文件并提交” ”。

有什么想法为什么会出现此错误以及如何修复它吗?

java formatter maven

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

如何根据条件在多个字段中实现搜索

我正在尝试实现Hibernate全文搜索.用户可以选择哪些字段与搜索相关.这是由JSF中的六个(我的示例)布尔复选框完成的.

六个布尔值意味着2 ^ 6种可能的组合.我需要映射所有这些条件.

例:

boolean a;
boolean b;
boolean c;
boolean d;
boolean e;
boolean f;

if(a){
// do a search with a 
}

..

if(a && b){
// do a search with a and b only
}

..

if(a && b && c){
// do a search with a and b and c only
}
Run Code Online (Sandbox Code Playgroud)

在每个IF语句中,都应该调用一个方法.

基于我的案例的部分示例:

用户想要搜索具有姓氏和/或名称的用户.

org.apache.lucene.search.Query luceneQuery = qb.keyword()
                    .onFields("user.surname", "user.givenname")
                    .matching(searchstring).createQuery();
Run Code Online (Sandbox Code Playgroud)

Conditonally:

QueryBuilder qb = fullTextEntityManager.getSearchFactory()
            .buildQueryBuilder().forEntity(BeitragVO.class).get();

if(user){
org.apache.lucene.search.Query luceneQuery = qb.keyword()
                        .onFields("user.surname", "user.givenname") …
Run Code Online (Sandbox Code Playgroud)

java hibernate if-statement conditional-statements hibernate-criteria

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