我有一个签名的applet,它从Web服务中检索PDF文档,然后将其存储在临时文件夹中,并在Adobe Reader上打开它.我想避免在本地存储文件,但我真的不知道如何实现它(我是Java小程序的新手).
如果它是一个Web应用程序(即一个简单的servlet),我可以将PDF内容写在ServletResponse; 然后浏览器将其存储在其临时文件夹中,并使用Adobe Reader(或任何与MIME类型相关联的应用程序)打开它.
在Java applet上有类似的方法吗?
到目前为止这是我的代码:
public class MyListener implements ActionListener {
public void actionPerformed(ActionEvent event) {
// Retrieve the document contents
byte[] content = webService.getPdfDocument(...);
// Write to file
File f = new File("my-document-filename.pdf");
FileOutputStream fos = new FileOutputStream(f);
fos.write(content);
fos.close();
// Open the file
Desktop.getDesktop().open(new File("my-document-filename.pdf"));
}
}
Run Code Online (Sandbox Code Playgroud)
Desktop.open(File)的任何替代方案,允许我传递一个byte[]而不是一个File?
我有一个带有一些编码问题的Struts2应用程序.我的JSP页面显示2个表单; 当我发送第一个(一个简单的常规表单,重新加载整页),非标准字符,如á或ñ正确发送和显示.然而,当我做的第二形式(其通过AJAX发送)是相同的,该数据被破坏(Ãí,Ã!等等).
main.jsp中:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<%@ page language="java" contentType="text/html;charset=UTF-8" pageEncoding="UTF-8" %>
<%@ taglib prefix="s" uri="/struts-tags" %>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
...
<s:head theme="ajax"/>
</head>
<body>
<!-- This form is sent via regular HTTP request -->
<s:form theme="simple" enctype="multipart/form-data">
<s:textfield key="field1" name="var1"/>
<s:submit key="send" action="SAVE_ACTION"/>
</s:form>
<div id="ajaxContainer">
<jsp:include file="ajax-part.jsp"/>
</div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
Ajax的part.jsp
<%@ page language="java" contentType="text/html;charset=UTF-8" pageEncoding="UTF-8" %>
<%@ taglib prefix="s" …Run Code Online (Sandbox Code Playgroud) 
我对 java 相当陌生,我有一个类Products是Serializable. 我不知道我做了什么,但我的程序停止工作并给了我这个错误:
Exception in thread "main" java.io.InvalidClassException: cockeb.Product;
local class incompatible: stream classdesc serialVersionUID = 1288455942608122525,
local class serialVersionUID = -558553967080513790
at java.io.ObjectStreamClass.initNonProxy(ObjectStreamClass.java:616)
at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1829)
at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1713)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1986)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1535)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:422)
at java.util.ArrayList.readObject(ArrayList.java:791)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:1058)
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:2122)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2013)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1535)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:422
Run Code Online (Sandbox Code Playgroud)
我四处搜寻并找到了声明它的方法,但这现在对我没有帮助。我什至打开一个新项目,只是从非工作项目中复制每个类中的文本并将其粘贴到新项目中,但我仍然遇到相同的错误。我在我的所有项目中都遇到了这个错误(它们使用同一个Serializable类),我需要知道我做了什么来做到这一点,这样它就不会再次发生,以及我可以做些什么来修复它。我已经尝试声明了,serialversionUID但没有成功。
产品类别
package cockeb;
import java.io.Serializable;
import java.math.BigDecimal;
public class Product implements Comparable<Product>, Serializable {
private …Run Code Online (Sandbox Code Playgroud) 在我的gitlab-ci文件中,我想使用命令curl获取页面结果并验证其内容,但是我不知道如何使用它。
....................
server:check-quality:
<<: *all-settings
stage: check-quality
<<: *tags_definition
script:
- echo "APPEL de CURL"
- content=($curl http://example.com/sonar/api/qualitygates/project_status?projectKey=com.orange.catalog:feature-m752-conditionequals)
- echo "content"
- exit 0
only:
- develop
- /^feature.*$/
- /^hotfix.*$/
Run Code Online (Sandbox Code Playgroud)
你有什么主意吗?
我试图按照提供的示例这篇文章,在露天3.3创建一个动态清单约束。
因此,我创建了自己的扩展类ListOfValuesConstraint:
public class MyConstraint extends ListOfValuesConstraint {
private static ServiceRegistry registry;
@Override
public void initialize() {
loadData();
}
@Override
public List getAllowedValues() {
//loadData();
return super.getAllowedValues();
}
@Override
public void setAllowedValues(List allowedValues) {
}
protected void loadData() {
List<String> values = new LinkedList<String>();
String query = "+TYPE:\"cm:category\" +@cm\\:description:\"" + tipo + "\"";
StoreRef storeRef = new StoreRef("workspace://SpacesStore");
ResultSet resultSet = registry.getSearchService().query(storeRef, SearchService.LANGUAGE_LUCENE, query);
// ... values.add(data obtained using searchService and nodeService) ...
if (values.isEmpty()) { …Run Code Online (Sandbox Code Playgroud)