如何抑制FreeMarker模板错误?我在这里看:http://freemarker.sourceforge.net/docs/pgui_config_errorhandling.html 但我不明白如何"TemplateExceptionHandler.IGNORE_HANDLER".我正在使用Struts2以及如何显示另一个ftl页面而不是显示堆栈跟踪?
class MyTemplateExceptionHandler implements TemplateExceptionHandler {
public void handleTemplateException(TemplateException te, Environment env, java.io.Writer out)
throws TemplateException {
try {
out.write("[ERROR: " + te.getMessage() + "]");
} catch (IOException e) {
throw new TemplateException("Failed to print error message. Cause: " + e, env);
}
}
}
...
cfg.setTemplateExceptionHandler(new MyTemplateExceptionHandler());
Run Code Online (Sandbox Code Playgroud)
在http://freemarker.sourceforge.net/docs/pgui_config_errorhandling.html上找到了上面的内容 我如何使用它?最后一行,cfg来自哪里?
"进入FreeMarker API的主要入口点"...... http://massapi.com/source/freemarker-2.3.18/src/freemarker/template/Configuration.java.html
所以,这是主要的切入点,我猜cfg来自这个类.我仍然没有看到控制器将如何进入我的类MyTemplateExceptionHandler.
以下行需要去哪里?
cfg.setTemplateExceptionHandler(new MyTemplateExceptionHandler());
Run Code Online (Sandbox Code Playgroud)
这只是将这条线放在正确位置的问题吗?
这是我当前班级的样子:
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.io.Writer;
import java.util.Properties;
import freemarker.cache.FileTemplateLoader;
import freemarker.cache.MultiTemplateLoader;
import …Run Code Online (Sandbox Code Playgroud) 给定base64输入,我如何将其转换为Android中的PDF文件?
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
context = this;
setContentView(R.layout.activity_main);
// Get the PDF file to encode it into Base64
File file = new File("/mnt/sdcard/download/Base64.pdf");
try {
// Files is from Guava library
Files.toByteArray(file);
// Encoded into Base64
byte[] temp = Base64.encode(Files.toByteArray(file), Base64.DEFAULT);
// For testing purposes, wrote the encoded string to file
writeToFile(Base64.encodeToString(temp, Base64.DEFAULT).toString());
} catch (IOException e) {
Log.d(tag, "File.toByteArray() error");
e.printStackTrace();
}
}
Run Code Online (Sandbox Code Playgroud)
我能够使用http://www.webutils.pl/index.php?idx=base64来测试PDF文件是否正确编码.但我希望能够自己将base64解码为PDF.我该怎么办?
编辑1
按照Saneesh CS的建议尝试以下代码
@Override
protected void onCreate(Bundle savedInstanceState) { …Run Code Online (Sandbox Code Playgroud) 我查看了以下链接,但似乎没有什么具体的. Android中的安全HTTP帖子 这个不再适用了,我已经测试了,其他人的评论说它不起作用.
我也检查了这个:DefaultHttpClient,证书,Https和发布问题!这似乎可行,但博主只是让你垂头丧气.更多分步说明会有所帮助.我设法获得了我的证书,但我没能完成他的第二步.
http://www.makeurownrules.com/secure-rest-web-service-mobile-application-android.html这个看起来不错,但是我又在最后一步松开了作者:"回到我们原来的休息客户端代码".他也到处都是,我不知道他正在使用哪些图书馆.他没有解释他的代码和他的代码
RestTemplate restTemplate = new RestTemplate();
Run Code Online (Sandbox Code Playgroud)
这是另一个悬念.因为没有提供该课程.所以,如果有人可以解释如何详细地做HTTPS发布请求,这将是很好的.我确实需要接受自签名证书.
检查了以下内容: 如何点击手机的搜索按钮什么都不做?
但它对我不起作用.有人还有其他建议吗?谢谢.根据Phil的建议,根据他的回答更新代码.显示错误http://www.youtube.com/watch?v=9lekcH1JAf0&feature=youtu.be
所以我做了一个示例项目.我在两款不同的手机上测试了这个,Android版本2.3.5和4.1,我也在模拟器版本2.2上进行了测试.单击按钮显示对话框后,它会很好地显示进度对话框,并且应该继续这样做.但是单击手机和模拟器上的"搜索"按钮会使进度对话框消失.这是课程,然后是清单.
当前的行为是,当单击搜索按钮时,进度对话框将消失.预期或需要的行为是禁用搜索按钮,或类似地在显示对话框并单击搜索按钮时,此单击不会使对话框消失.
package com.example.test6;
import android.os.Bundle;
import android.app.Activity;
import android.app.ProgressDialog;
import android.content.Context;
import android.util.Log;
import android.view.KeyEvent;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class MainActivity extends Activity {
Button showDialogButton;
Context context;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
showDialogButton = (Button) findViewById(R.id.showDialogButton);
showDialogButton.setOnClickListener(showDialog);
context = this;
startSearch(null, false, null, false);
}
private OnClickListener showDialog = new OnClickListener() {
@Override
public void onClick(View v) {
ProgressDialog progressDialog = new ProgressDialog(context);
progressDialog.show();
}
}; …Run Code Online (Sandbox Code Playgroud) 您好,我需要将Array-list数据传递给soap Web服务.到目前为止,我有以下代码.
public class ResultActivity extends Activity {
public final String NAMESPACE = "";
public final String URL = "";
public final String SOAP_ACTION_1 = "";
public final String METHOD_NAME_1 = "";
ProgressDialog mProgressDialog;
SoapObject mSoapObjectCompanyDetailResponse;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.result);
System.out.println("Size In resxusr " + OnLineApplication.mParserResults.size());
for (int i = 0; i < OnLineApplication.mParserResults.size(); i++) {
System.out.println("ID " + OnLineApplication.mParserResults.get(i).getCompanyId());
System.out.println("Q " + OnLineApplication.mParserResults.get(i).getQuestion());
System.out.println("A " + OnLineApplication.mParserResults.get(i).getAnswer());
}
new insertResult().execute(); …Run Code Online (Sandbox Code Playgroud) 我正在使用swing和miglayout创建一个桌面应用程序.我怎么能得到下面的gui?C1是组件1.
+-----+ +-----+
| C1 | | C2 |
+-----+ +-----+ +----+
+-----+ +-----+ | C4 |
| C3 | | C4 | +----+
+-----+ +-----+
Run Code Online (Sandbox Code Playgroud)
谢谢.
关于以下答案的更新.

代码是:
panel = new JPanel();
MigLayout layout = new MigLayout("debug", "[][][]");
panel.setLayout(layout);
JCheckBox reptJCheckBox = new JCheckBox("REPT");
JCheckBox tstcJCheckBox = new JCheckBox("TSTC");
JCheckBox devJCheckBox = new JCheckBox("DEV");
JCheckBox tstyCheckBox = new JCheckBox("TSTY");
JButton openButton = new JButton("Open");
panel.add(reptJCheckBox);
panel.add(tstcJCheckBox, "wrap");
panel.add(tstyCheckBox);
panel.add(devJCheckBox);
panel.add(openButton, "spany 2, wrap");
Run Code Online (Sandbox Code Playgroud)