小编Tyl*_*rry的帖子

使用嵌套的Foreach语句迭代多维数组

我认为这可能是一个非常简单的问题,但我还没有弄清楚.如果我有一个像这样的二维数组:

int[,] array = new int[2,3] { {1, 2, 3}, {4, 5, 6} };
Run Code Online (Sandbox Code Playgroud)

使用嵌套的foreach语句迭代数组的每个维度的最佳方法是什么?

c# foreach nested-loops

72
推荐指数
4
解决办法
9万
查看次数

ClassCastException:无法强制转换为com.sun.xml.internal.bind.v2.runtime.reflect.Accessor

我有一个SOAP Web服务,我试图在应用程序内部调用.我使用cxf-codegen-plugin(3.1.10)从WSDL生成源代码.

使用生成的客户端,如果我在应用程序中调用Web服务,它可以很好地工作.但是,我还在应用程序中使用另一个JAXB实例来导致问题.

例如,以下工作很好:

OutboundServicePortType service = new OutboundService().getOutboundServicePort();
service.sendMessage(message);
Run Code Online (Sandbox Code Playgroud)

但是,在之前初始化新的JAXB实例会导致getOutboundServicePort()调用失败:

JAXBContext.newInstance(SendMessageRequest.class);

OutboundServicePortType service = new OutboundService().getOutboundServicePort();
service.sendMessage(message);
Run Code Online (Sandbox Code Playgroud)

使用以下堆栈跟踪:

Caused by: java.lang.ClassCastException: outbound.model.standard.StandardOutboundMessage$JaxbAccessorF_messageUUId cannot be cast to com.sun.xml.internal.bind.v2.runtime.reflect.Accessor
    at com.sun.xml.internal.bind.v2.runtime.reflect.opt.OptimizedAccessorFactory.instanciate(OptimizedAccessorFactory.java:190)
    at com.sun.xml.internal.bind.v2.runtime.reflect.opt.OptimizedAccessorFactory.get(OptimizedAccessorFactory.java:179)
    at com.sun.xml.internal.bind.v2.runtime.reflect.Accessor$FieldReflection.optimize(Accessor.java:271)
    at com.sun.xml.internal.bind.v2.runtime.property.SingleElementLeafProperty.<init>(SingleElementLeafProperty.java:77)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:422)
    at com.sun.xml.internal.bind.v2.runtime.property.PropertyFactory.create(PropertyFactory.java:113)
    at com.sun.xml.internal.bind.v2.runtime.ClassBeanInfoImpl.<init>(ClassBeanInfoImpl.java:166)
    at com.sun.xml.internal.bind.v2.runtime.JAXBContextImpl.getOrCreate(JAXBContextImpl.java:488)
    at com.sun.xml.internal.bind.v2.runtime.ClassBeanInfoImpl.<init>(ClassBeanInfoImpl.java:153)
    at com.sun.xml.internal.bind.v2.runtime.JAXBContextImpl.getOrCreate(JAXBContextImpl.java:488)
    at com.sun.xml.internal.bind.v2.runtime.JAXBContextImpl.<init>(JAXBContextImpl.java:305)
    at com.sun.xml.internal.bind.v2.runtime.JAXBContextImpl.<init>(JAXBContextImpl.java:124)
    at com.sun.xml.internal.bind.v2.runtime.JAXBContextImpl$JAXBContextBuilder.build(JAXBContextImpl.java:1123)
    at com.sun.xml.internal.bind.v2.ContextFactory.createContext(ContextFactory.java:147)
    at com.sun.xml.internal.bind.api.JAXBRIContext.newInstance(JAXBRIContext.java:152)
    at com.sun.xml.internal.bind.api.JAXBRIContext.newInstance(JAXBRIContext.java:96)
    at com.sun.xml.internal.ws.developer.JAXBContextFactory$1.createJAXBContext(JAXBContextFactory.java:98)
    at com.sun.xml.internal.ws.db.glassfish.JAXBRIContextFactory.newContext(JAXBRIContextFactory.java:79)
    ... 25 more
Run Code Online (Sandbox Code Playgroud)

到目前为止我尝试过的事情:

来自Webservice的JAXB类编组错误

java cxf jaxb

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

跟踪文件下载ASP.Net中的命中/计数

有没有办法固有/手动记录ASP站点中访问特定文件的次数.例如,我在服务器上有一些.mp3文件,我想知道每个文件访问过多少次.

追踪这个的最佳方法是什么?

c# asp.net

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

简单的一行,Java中的本机加密/解密方法

Java中是否有一个死简单的本机方法用密钥加密/解密字符串?我真的不关心什么类型的加密(AES,DES等),我只关心它受键的约束而不易破解.

理想情况下,我希望它是一个像这样的单行解决方案:

String encryptedString = NativeEncryptionClass.encrypt("this is the data", "key123");
Run Code Online (Sandbox Code Playgroud)

谢谢

java encryption

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

@Transactional方法中的LazyInitializationException

在执行以下操作org.hibernate.LazyInitializationException时,当我尝试访问延迟加载的异常时遇到错误:

@Transactional
public void displayAddresses()
{
     Person person = getPersonByID(1234);
     List<Address> addresses = person.getAddresses(); // Exception Thrown Here

     for(Address address : addresses)
          System.out.println(address.getFullAddress());
}
Run Code Online (Sandbox Code Playgroud)

我的实体看起来像这样:

@Entity
@Table("PERSON_TBL")
public class Person
{
     ...

     @OneToMany(cascade=CascadeType.ALL, targetEntity=Address.class, mappedBy="person")
     private List<Address> addresses;

     ...
}

@Entity
@Table("ADDRESS_TBL")
public class Address
{
     ...

     @ManyToOne(targetEntity=Person.class)
     @JoinColumn(name="PERSON_ID", referencedColumnName="PERSON_ID")
     Person person;

     ...
}
Run Code Online (Sandbox Code Playgroud)

我的印象是,通过在我的displayAddresses()方法中使用@Transactional批注,它将使会话保持活动状态,直到该方法完成为止,从而使我可以访问延迟加载的Address集合。

我想念什么吗?

编辑

按照Tomasz的建议:在我的displayAddresses()方法中,状态TransactionSynchronizationManager.isActualTransactionActive(),变为false

这确实可以缩小问题的范围,但是为什么此时我的交易不能处于活动状态?

spring hibernate transactional

6
推荐指数
2
解决办法
4072
查看次数

输入中的值未在 Angular 2 中绑定

我有一个 *ngFor 循环遍历我所有的朋友。在 for I 中有一个输入框,用于存储朋友的姓名。我想在单击按钮时存储朋友的更新名称的值,但这并没有按预期工作:

@Component({
  selector: 'my-app',
  template: `
  <div *ngFor="let friend of friends">
    <input type="text" [value]="friend.name">
    <button (click)="save(friend)" type="submit">save</button>
  </div>`,
  providers: []
})
export class App {
  friends: Friend[] = new Array(new Friend("Alice"), new Friend("Bob"));

  save(friend: Friend) {
    console.log(friend.name);
  }
}

export class Friend {
  constructor(public name: string) {}
}
Run Code Online (Sandbox Code Playgroud)

期望是使用包含名称的新值的朋友对象调用 save 方法。但它只是传递旧名称。

我觉得我在 Angular2 的工作方式中缺少一些基本的东西。

Plunkrhttp : //plnkr.co/edit/blYzEW0JufOcPwIwzoWQ?p=preview

angular

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

我应该更喜欢封闭式还是开放式列表<>系统?

我的项目中有一个类,它存储了一个List <>元素.我试图弄清楚是否应该允许用户直接添加到该列表(例如,调用本机添加/删除方法)或通过声明List私有来锁定它,并且只允许我选择实际更改的一些方法列表.

它是一个框架,所以我试图尽可能地设计它,但我也希望尽可能保持简单和无错误.

在这种情况下,最佳做法是什么?

谢谢,泰勒

.net c# list

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

在 Javascript 中通过页面刷新保持对弹出窗口的引用

有谁知道刷新页面后是否有办法保持对弹出窗口的引用,以便您可以继续访问它?

我最初的想法是用 JSON 字符串化引用变量,将其存储在 cookie 中,并在页面刷新后 eval() 它,但我还没有机会对其进行测试。

我是否在正确的轨道上,或者这甚至可能吗?

javascript json

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

存储函数以便稍后运行

我有一个循环,需要在循环完成后"标记"函数以便稍后运行.这可能吗?

谢谢,泰勒

.net c# function

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

在SQLServer中使用ZonedDateTime和datetimeoffset

我有一个使用带有datetimeoffset列的SQLServer数据库的应用程序。最好是,我想使用ZonedDateTime作为我的JPA实体对象类型,如下所示:

@Column(name = "CreateTimestamp", nullable = false)
ZonedDateTime createTimestamp;
Run Code Online (Sandbox Code Playgroud)

但是,时区未正确保存。无论我在ZonedDateTime中将ZoneId设置为什么,该值将始终位于数据库的GMT中。

查看Microsoft的JDBC映射图,推荐使用的类是microsoft.sql.DateTimeOffset,这不是我想要的。

我已经探索过使用@Converter在两者之间进行映射,但是必须提供这样的特殊知识似乎是对我做错了事的一个危险信号-尤其是因为我需要使用它在H2集成测试中进行工作。

以供应商不可知的方式使用datetimeoffset和ZonedDateTime的最佳方法是什么?

java sql-server jpa

4
推荐指数
2
解决办法
1834
查看次数