小编Gus*_*avo的帖子

动态添加元素的JQuery选择器

我无法弄清楚如何哄骗JQuery来选择在页面加载后动态插入DOM的元素(不是绑定处理程序).

例如:

如果我有HTML:

<div id="bar">
 World!
</div>
Run Code Online (Sandbox Code Playgroud)

然后我创建一个新元素并将其插入到DOM中:

var foo = '<div id="foo">Hello</div>';
$("#bar").before(foo);
Run Code Online (Sandbox Code Playgroud)

我最终得到了这个:

<div id="foo">Hello</div>
<div id="bar">
 World!
</div>
Run Code Online (Sandbox Code Playgroud)

稍后我可能想要对我插入的元素做一些不同的事情,使用JQuery来操作新元素.但是,如果我尝试做:

myHappyEl = $("#foo");
Run Code Online (Sandbox Code Playgroud)

那么myHappyEl将是未定义的.JQuery没有看到它,可能是因为它在加载DOM后附加了.

我已经看到很多建议解决了可能相关但又略有不同的问题,其中解决方案是使用.live()/.on()在元素进入时附加事件监听器.如果我想捕获点击事件或其他东西,那将是很棒的,但我没有; 我希望能够选择动态添加的元素.

jquery selector

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

无法使用javamail和jdk 12发送电子邮件

我曾经使用 javamail 和 Java 8 发送电子邮件。

现在我升级到 Java 12,我得到了java.lang.NoClassDefFoundError: javax/activation/DataHandler.

我添加了javax.activation-api-1.2.0.jar,现在我明白了java.lang.NoClassDefFoundError: com/sun/activation/registries/LogSupport

这是因为javax.activation-api-1.2.0.jar没有com.sun...以前版本的软件包。

我应该在我的项目中放置哪些 jar 才能使用 java 12 正确发送和发送电子邮件?哪里可以找到它们?

有很多令人困惑的来源,例如:

https://repo1.maven.org/maven2/javax/activation/javax.activation-api/1.2.0/

https://eclipse-ee4j.github.io/jaf/

https://www.oracle.com/java/technologies/java-archive-downloads-java-plat-downloads.html#jaf-1.1.1-fcs-oth-JPR

jakarta-mail javax.activation

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

为什么List <Integer []> listOfArrays = Arrays.asList(new Integer [] {1,2})不编译?

1)好的

List<int[]> listOfArrays1 = Arrays.asList( new int[]{1, 2} );
Run Code Online (Sandbox Code Playgroud)

2)好的

List<int[]> listOfArrays2 = Arrays.asList( new int[]{1, 2}, new int[]{3, 4} );
Run Code Online (Sandbox Code Playgroud)

3)编译错误 Type mismatch: cannot convert from List<Integer> to List<Integer[]>

List<Integer[]> listOfArrays3 = Arrays.asList( new Integer[]{1, 2} );
Run Code Online (Sandbox Code Playgroud)

4)好的

List<Integer[]> listOfArrays4 = Arrays.asList( new Integer[]{1, 2},  new Integer[]{3, 4} );
Run Code Online (Sandbox Code Playgroud)

这是签名asList:public static <T> List<T> asList(T... a)

asList期望0或更多类型为"a".我的"a"是new Integer[]{1, 2},它是类型Integer[].那么,为什么它会产生一个List<Integer>而不是一个List<Integer[]>

java variadic-functions

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

JPA/Hibernate 本机查询以获取和实体并急切地获取其关联不起作用

Hibernate 5.2 文档说:

可以急切地加入 Phone 和 Person 实体,以避免初始化多对一关联可能产生的额外往返。

示例 475.JPA 本机查询选择具有加入多对一关联的实体

List<Phone> phones = entityManager.createNativeQuery(
    "SELECT * " +
    "FROM Phone ph " +
    "JOIN Person pr ON ph.person_id = pr.id", Phone.class )
.getResultList();

for(Phone phone : phones) {
    Person person = phone.getPerson();
}
Run Code Online (Sandbox Code Playgroud)

我正在运行一个与此类似的示例。我的查询和上面一样简单。但是,当我执行phone.getPerson()另一个查询时,它会发送到数据库以检索Person. 我没有收到重复的别名错误,也没有找到未找到列的错误。通过自己运行 Hibernate 生成的查询,我可以检查是否存在填充两个实体所需的所有列。

还尝试了查询的 Hibernate 替代方案。它没有用。此外.addEntity().addJoin()已弃用(尽管仍在手动示例中)。

hibernate jpa

5
推荐指数
0
解决办法
844
查看次数

已弃用的setParameter(String name,Object val,Type type)的替代品

由于Hibernate 5.2 Query<R>.setParameter(String name, Object val, Type type)已弃用,而javadoc表示要使用org.hibernate.query.Query.

我这样做了:

org.hibernate.query.Query<String> q = s.createQuery("select f from Foo f where f.bar = :bar", String.class);
q.setParameter("bar", "bar", org.hibernate.type.StringType.INSTANCE);
Run Code Online (Sandbox Code Playgroud)

我的Eclipse仍抱怨已.setParameter(被弃用.

关于在将参数绑定到Query时如何覆盖类型的任何想法?

java hibernate

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

如何对放置在详细信息带中的子报表返回的值求和?

我有一个报告和一个子报告,基本上打印了以下内容: 在此输入图像描述

这是主要报告的代码:

<jasperReport>
    <queryString><![CDATA[
select 1 as "RECORD", 'A' as "GROUP"
from dual
  union all
select 2, 'A'
from dual
  union all
select 3, 'B'
from dual
  union all
select 4, 'B'
from dual]]>
    </queryString>
    <field name="RECORD" class="java.math.BigDecimal"/>
    <field name="GROUP" class="java.lang.String"/>
    <variable name="return" class="java.math.BigDecimal"/>
    <group name="group">
        <groupExpression><![CDATA[$F{GROUP}]]></groupExpression>
        <groupFooter>
            <band height="20">
                <staticText>
                    <text><![CDATA[End of group ]]></text>
                </staticText>
                <textField>
                    <textFieldExpression><![CDATA[$F{GROUP}]]></textFieldExpression>
                </textField>
                <staticText>
                    <text><![CDATA[The sum of returned values for the group]]></text>
                </staticText>
            </band>
        </groupFooter>
    </group>
    <detail>
        <band height="20">
            <staticText>
                <text><![CDATA[Record]]></text>
            </staticText>
            <textField>
                <textFieldExpression><![CDATA[$F{RECORD}]]></textFieldExpression> …
Run Code Online (Sandbox Code Playgroud)

jasper-reports

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

如何在EL Stream API中使用Collectors#joining?

我正在尝试在JSP中将列表的内容打印为单个字符串,并用逗号分隔。

<div>${myList.stream().map(e->e.getStringValue()).collect(Collectors.joining(", "))}</div>
Run Code Online (Sandbox Code Playgroud)

我收到错误:

javax.el.MethodNotFoundException: Method not found: class org.apache.el.stream.Stream.collect(null)
Run Code Online (Sandbox Code Playgroud)

为什么Tomcat使用它自己的版本Stream?有没有一种方法可以避免这种情况,并确保当我将它们放在JSP的EL中时,我在java类中编写的内容具有相同的行为?

我找到了这个答案/sf/answers/3005143991/ 但这不能解决我的问题。它使用Tomcat Streams的自定义方法。

tomcat el java-stream

0
推荐指数
1
解决办法
78
查看次数