小编Tim*_*imo的帖子

如果应该打开普通/文本消息,为什么Javamail会抛出IOException?

我使用以下代码来读取消息对象的主体:

Object content = _message.getContent();
String body = null;
if (content instanceof String) {
    body = (String) content;
} else if (content instanceof Multipart) {
    Multipart multipart = (Multipart) content;
    BodyPart part = multipart.getBodyPart(0);
    body = (String) part.getContent();
}
Run Code Online (Sandbox Code Playgroud)

当内容是多部分时,一切正常,但是当内容只是text/plain时,我得到以下异常(在第1行的getContent()调用中已经!):

13.01.2011 17:22:23 org.zkoss.zk.ui.impl.UiEngineImpl handleError:1253
SCHWERWIEGEND: >>org.zkoss.zk.ui.UiException: java.io.IOException
java.io.IOException
at  javax.mail.internet.MimePartDataSource.getInputStream(MimePartDataSource.java:108)
at com.sun.mail.handlers.text_plain.getContent(text_plain.java:90)
at javax.activation.DataSourceDataContentHandler.getContent(DataHandler.java:775)
at javax.activation.DataHandler.getContent(DataHandler.java:522)
at javax.mail.internet.MimeMessage.getContent(MimeMessage.java:1396)
Run Code Online (Sandbox Code Playgroud)

我还尝试了JavaMail FAQ中显示的代码:http://www.oracle.com/technetwork/java/faq-135477.html#mainbody

结果相同.

通过在IMAPFolder实例上调用getMessages(n)来检索消息.文件夹实例来自IMAPStore对象.

我完全没有想法会出现什么问题......有没有人有想法?

java jakarta-mail ioexception

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

如何在 iOS16 的 Swift 中用 NavigationLink(value:label:) 替换 init(destination:tag:selection:label:) ?

我使用以下 Swift 代码在我的 iPhone 应用程序中执行两件事:

  1. somethingElse()单击按钮时调用方法
  2. 将视图更改为SecondView()

代码

struct PrimaryView: View {
  @State var buttonSelected: Int? = nil
  
  func onSubmit() {
    somethingElse()
    self.buttonSelected = 1
  }

  var body: some View {
    NavigationStack {
      NavigationLink(destination: SecondView(), tag: 1, selection: $buttonSelected) {
        Button(action: {
          onSubmit()
        }) {
          Text("Click me")
        }
      }
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

这工作正常,但我收到以下警告:

'init(destination:tag:selection:label:)' 在 iOS 16.0 中已弃用:在 NavigationStack 或 NavigationSplitView 内的列表中使用 NavigationLink(value:label:)...

问题:如何重构此代码以使警告消失但功能保持不变?

ios swift swiftui

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

如何追查性能损失的原因?

我在Tomcat 6上运行基于Java的多用户Web应用程序.

出于某种原因,1天后整个应用程序变得非常慢.

"top" 虽然在线用户不多,但我认为CPU有120%(由tomcat进程引起),所以我认为存在某种无限循环(或类似问题).

在我的本地系统上,我无法重现问题.我也无法找出导致问题的部分(哪个类/方法).

调试这个的最佳方法是什么?

java performance

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

如何解释Java线程转储?

我在这里使用Ubuntu(服务器版)在Tomcat6上运行了一个Java Web应用程序.1-3天之后,应用程序变得非常慢,所以我在重新启动tomcat之后创建了一个threaddump,当应用程序开始变慢时我创建了另一个:

重新启动后的Threaddump:

3天后的Threaddump(申请现在很慢):

从我发布的转储中,我可以看到有很多线程由于某种原因似乎没有终止.不幸的是,我不知道哪些(类名?)和原因.top在控制台上使用显示"VIRT"的值从~800(重新启动后)上升到超过4000(3天后).

我怎样才能更好地解释这些转储?我已经尝试将它们加载到TDA中,但这不起作用(TDA似乎没有将它们识别为转储).

也许有人已经在转储中看到发生了什么?

java thread-dump

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

升级到2.2.0后Phonegap崩溃

我刚刚将iOS应用中的Phonegap升级到2.2.0版.

当我在我的设备上运行它时,我收到此错误并且应用程序在启动期间崩溃:

2012-12-12 15:01:17.810 MyProject.de[662:907] -[__NSCFBoolean isEqualToString:]: unrecognized selector sent to instance 0x3da29530
2012-12-12 15:01:17.812 MyProject.de[662:907] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSCFBoolean isEqualToString:]: unrecognized selector sent to instance 0x3da29530'
*** First throw call stack:
(0x3b9152a3 0x3580497f 0x3b918e07 0x3b917531 0x3b86ef68 0xc62bb 0x1671f 0x34a6658d 0x34aa6d71 0x34aa2ae5 0x34ae41c9 0x15a03 0x34aa7ad1 0x34aa765b 0x34a9f843 0x34a47c39 0x34a476cd 0x34a4711b 0x39c2a5a3 0x39c2a1d3 0x3b8ea173 0x3b8ea117 0x3b8e8f99 0x3b85bebd 0x3b85bd49 0x34a9e47d 0x34a9b2f9 0x153f9 0x15390)
libc++abi.dylib: terminate called throwing an exception
Run Code Online (Sandbox Code Playgroud)

是什么赋予了?


更新:我通过遍历代码并逐步删除行进行了一些研究.

据我所知,崩溃发生在didFinishLaunchingWithOptions的两个地方:

一个在这里: …

iphone crash ios cordova

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

为什么带有Phonegap的Android 4会忽略em中的css大小?

我使用em而不是px来设置我的Phonegap应用程序中HTML容器和图像的大小.

例:

<div id="outer">
 <div id="inner">
  Hello
 </div>
</div>

<style>
#outer{font-size:0.5px}
#inner{font-size:2em;width:2em}
</style>
Run Code Online (Sandbox Code Playgroud)

使用上面的样式,#inner的宽度应为1px,字体的宽度也应为1px.

这适用于:

  • 所有Android浏览器
  • iPhone(浏览器和本机Phonegap构建)
  • 带有Phonegap的原生Android 2.x应用程序

它不适用于具有Phonegap的原生Android 4.x应用程序(在模拟器和真实设备上测试).

由于某些原因,#inner中的font-size似乎正确地减少到1px 容器本身忽略了父字体大小.

这里发生了什么?

android cordova

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

为什么NSMutableURLRequest实例化会导致崩溃?

我试图像这样创建一个NSMutableURLRequest:

NSURL *URLWithString = [
    NSString stringWithFormat:@"%@?%@",
    urlString,
    datas
];
NSMutableURLRequest* request = [[[NSMutableURLRequest alloc] initWithURL:URLWithString] autorelease];
Run Code Online (Sandbox Code Playgroud)

当我在iPhone 4S上运行它时,应用程序崩溃,我得到以下异常:

2012-10-30 15:58:53.495 [429:907] - [__ NSCFString absoluteURL]:无法识别的选择器发送到实例0x1cd74a90

2012-10-30 15:58:53.497 [429:907] ---由于未捕获的异常'NSInvalidArgumentException'终止应用程序,原因:' - [__ NSCFString absoluteURL]:无法识别的选择器发送到实例0x1cd74a90'

---第一次抛出调用堆栈:

(0x361b62a3 0x344c697f 0x361b9e07 0x361b8531 0x3610ff68 0x3611363f 0x320396e7 0x32039551 0x320394ed 0x33bde661 0x33bde597 0x387e1 0x376d9f1f 0x376da9a9 0x341c535d 0x3618b173 0x3618b117 0x36189f99 0x360fcebd 0x360fcd49 0x366392eb 0x374db301 0x37cc1 0x37c58)

libc ++ abi.dylib:terminate调用抛出异常

怎么了?

objective-c nsmutableurlrequest

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

如何防止在div中改变样式对象?

我收到以下错误:

警告:div传递了之前已经变异的样式对象.变异style已被弃用.考虑事先克隆它.检查renderTab.以前的风格:{padding: "20px", display: "block"}.变异风格:{padding: "20px", display: "none"}.

从我render()在React/JSX中的方法中的代码:

const clonedChildren = React.Children.map(this.props.children, (el, i) => {
  let visibility = 'none';
  if (i === this.state.activeIndex) visibility = 'block';
  const newStyle = { display: visibility };
  const style = Object.assign(el.props.style, newStyle);
  return React.cloneElement(el, { style });
});
Run Code Online (Sandbox Code Playgroud)

为什么会发生这种错误?我已经克隆了元素.我怎样才能解决这个问题?

javascript ecmascript-6 reactjs react-jsx

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

如何判断链接是否为 YouTube 网址并在 JavaScript 中提取视频 ID?

我有一个<input type="text">字段,用户可以将 YouTube 网址粘贴到其中。有效值为:

http://www.youtube.com/watch?v=VIDEO_ID  // Regular url
http://youtube.com/watch?v=VIDEO_ID      // No "www"
https://www.youtube.com/watch?v=VIDEO_ID // With ssl
https://youtube.com/watch?v=VIDEO_ID     // ssl but no "www"
www.youtube.com/watch?v=VIDEO_ID         // No http(s) at all but with "www"
youtube.com/watch?v=VIDEO_ID             // No http(s) and no "www"
https://youtu.be/VIDEO_ID                // Shortened version with ssl
http://youtu.be/VIDEO_ID                 // Shortened version without ssl
youtu.be/VIDEO_ID                        // Shortened version without protocol
Run Code Online (Sandbox Code Playgroud)

其中 VIDEO_ID 显然是视频的 id,它可以是随机字符串,例如ROjxlXgFbs4

正如您所看到的,用户可以将很多变体发布到该输入字段中。

所以,基本上我需要一个这样的函数:

// Returns false if invalid YouTube URL. If url is valid, returns video id. …
Run Code Online (Sandbox Code Playgroud)

javascript ecmascript-6

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

基于 MVVM 的应用程序是否需要有控制器?

我很难理解 MVVM,因为我正在学习使用 Swift for iOS 进行 SwiftUI 开发。在阅读了各种教程和观看YouTube 视频后,这是我的理解:

  • 视图:用户界面
  • 模型:数据层
  • ViewModel:视图和模型之间的“粘合剂”。包含业务逻辑。

然而,在做了额外的研究之后,我发现这篇文章讨论了控制器在 MVVM 中的作用。现在,这让我很困惑,因为我的理解是 MVVM 中的 ViewModel 已经负责控制器的操作,例如在 MVC 中,因此控制器不会存在于基于 MVVM 的应用程序中。

问题:基于 MVVM 的应用程序中是否存在控制器,或者文章根本就是错误的?

architecture model-view-controller mvvm swift

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