小编Jep*_*ppz的帖子

带有ngFor输入的Angular 2模板驱动形式

是否可以使用模板驱动形式的ngFor创建输入字段,并使用#name ="ngModel"之类的东西在另一个标签中使用name.valid?

现在,我们有一个动态的产品列表,其中包含数量字段和表格中的"添加到购物车"按钮.我想让整个事情成为最后添加全部按钮的表单,如下所示:

<form #form="ngForm">
    <div *ngFor="item in items">
        <input name="product-{{item.id}}"
               [(ngModel)]="item.qty"
               #????="ngModel"
               validateQuantity>
        <button (click)="addItemToCart(item)"
                [disabled]="!????.valid">Add to cart</button>
    </div>
    <button (click)="addAll()"
            [disabled]="!form.valid">Add all</button>
</form>
Run Code Online (Sandbox Code Playgroud)

但是如何为ngModel每行生成一个新的变量名?

forms ngfor angular

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

Spring注入kotlin中的通用接口实现列表

免责声明:Kotlin的新手,可能很容易解决问题或误解了基础知识。

我试图在常规的Java类中注入特定接口的Spring实现的列表,这很容易,就像这样:

@Autowired
List<IMyClass> myClassList;
Run Code Online (Sandbox Code Playgroud)

但是在Kotlin中,执行以下操作会给我一个错误

@Autowired
lateinit private var myClassList: List<IMyClass<Any>>

// No beans of '? extends IMyClass<Object>' or 'List<? extends IMyClass<Object>>' types found
Run Code Online (Sandbox Code Playgroud)

这样做:

@Autowired
lateinit private var myClassList: List<IMyClass<*>>
Run Code Online (Sandbox Code Playgroud)

使注入工作正常,但不允许我使用在接口中定义的将通用对象作为输入的函数

// Out-projected type 'IMyClass<*>' prohibits the use of 'public abstract fun myFunction(obj: T!): T! defined in com.path.IMyClass'
Run Code Online (Sandbox Code Playgroud)

那我该怎么解决呢?使用某些特定的语法在Kotlin中重写接口是否更容易?

generics spring dependency-injection kotlin

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

SimpleDateFormat toPattern在java 9中的行为有所不同

DateFormat dateFormat = DateFormat.getDateInstance(DateFormat.SHORT, new Locale("SV", "SE"));
((SimpleDateFormat) dateFormat).toPattern();
Run Code Online (Sandbox Code Playgroud)

在Java 8中,这一行在"yyyy-MM-dd"Java 9中生成"y-MM-dd".

这对我们的遗留代码有一些严重的问题,是否有某种方法可以恢复行为?

java date date-format simpledateformat java-9

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

使用CriteriaQuery选择通用主键

从Hibernate Criteria api迁移到CriteriaQuery时,我遇到了一个抽象类的通用DAO,该抽象类在公共字段上具有一个位置,但对其ID进行选择,即使每个类的ID完全不同。

旧的投影看起来像这样

criteria.setProjection(Projections.id());
Run Code Online (Sandbox Code Playgroud)

有没有办法使用CriteriaQuery以类似的方式做到这一点?

编辑:完整标准代码

DetachedCriteria detachedCriteria = DetachedCriteria.forClass(MyEntity.class);
detachedCriteria.add(Restrictions.in("accountID", accounts));
detachedCriteria.setProjection(Projections.id());

EntityManager em = ...;
Criteria criteria = detachedCriteria.getExecutableCriteria((Session) em.getDelegate());
List<Integer> list = criteria.list();
Run Code Online (Sandbox Code Playgroud)

java hibernate jpa criteriaquery

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

使用 java 11 编译后的堆外泄漏

将我们的 Spring Web 应用程序 maven 版本升级到 Java 11 后,我们看到 Java 进程的内存消耗不断增加。

工作正常:使用 Java 8 JDK 构建 + 在使用 Java 11 的服务器上运行

有泄漏:使用 Java 11 构建 + 在使用 Java 11 的服务器上运行

在堆转储甚至本机内存跟踪中都看不到泄漏,该进程不断增加,直到物理内存 + 交换已满并且该进程被系统杀死。什么样的问题甚至可能导致这种问题?

java memory memory-leaks heap-memory java-11

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

在yaml中的Cloudformation嵌套堆栈输出

在我的嵌套堆栈中,我需要使用输出值,AWS :: CloudFormation :: Stack返回值为

Fn :: GetAtt Outputs.NestedStackOutputName

但是yaml不允许我使用

!GetAtt MyResourceName.Outputs.MyOutputName
Run Code Online (Sandbox Code Playgroud)

因为它试图将它们分成3块而不是它需要的2块.

我也试过用

Value: "Fn::GetAtt": [ "MyResourceName", "Outputs.MyOutputName" ] 
Run Code Online (Sandbox Code Playgroud)

但后来我明白了

mapping values are not allowed here
  in "<string>", line 21, column 24:
        Value: "Fn::GetAtt": [ "MyResourceName", "Outputs.MyOutputName" ]
Run Code Online (Sandbox Code Playgroud)

那我该怎么用?我真的必须切换到json吗?

yaml amazon-web-services aws-cloudformation

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