在研究RMI时(首先是Java)老兄使用
Naming.rebind(name, object)
Run Code Online (Sandbox Code Playgroud)
但是网络上的其他人(oracle)使用
Registry registry = LocateRegistry.getRegistry();
registry.rebind(name, object);
Run Code Online (Sandbox Code Playgroud)
我知道hf java有点旧,但我没有看到Naming类已被弃用.
那么,那有什么区别呢?
报告生成:
以下代码驻留在servlet中,并生成要下载的"letter.docx"word文档和C中的"pika.pdf"文件:
我能够看到我在pika中定义的背景图像,但不能在"letter"中看到.
InputStream is = request.getServletContext().getResourceAsStream("/resources/reports/" +name);
JasperReport jr = JasperCompileManager.compileReport(is);
JasperPrint jp = JasperFillManager.fillReport(jr, params, ds);
JRExporter exp = new JRDocxExporter();
exp.setParameter(JRExporterParameter.JASPER_PRINT, jp);
ByteArrayOutputStream bos = new ByteArrayOutputStream();
exp.setParameter(JRExporterParameter.OUTPUT_STREAM, bos);
exp.exportReport();
JasperExportManager.exportReportToPdfFile(jp, "C:\\pika.pdf");
byte[] bytes = bos.toByteArray();
response.reset();
response.setContentType("application/octet-stream");
response.setHeader("Content-disposition", "attachment; filename=\"letter.docx\"");
response.getOutputStream().write(bytes);
response.getOutputStream().flush();
response.getOutputStream().close();
Run Code Online (Sandbox Code Playgroud) 一个简单的报告,其中只有一个png.
Png的dpi是96,看起来非常清晰.但是,每次我导出报告时,无论是.docx还是pdf,都只会出现非常模糊的图像.
我试过设定
net.sf.jasperreports.image.dpi
Run Code Online (Sandbox Code Playgroud)
到300,到96
无论是在ireports还是直接在报告的jrxml上作为财产.
什么都行不通.
例外
我已经迷失了很多天谷歌搜索这个问题,但仍然没有答案.
更新1
我已经能够将这种奇怪行为的原因追溯到itext.它似乎必须用它做点什么.
更新2
这是jrxml代码
<?xml version="1.0" encoding="UTF-8"?>
<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="carta_policia" pageWidth="612" pageHeight="792" columnWidth="572" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" uuid="fbda9a68-7549-438c-a8ad-b3aedaf0b2d4">
<property name="ireport.zoom" value="1.0"/>
<property name="ireport.x" value="0"/>
<property name="ireport.y" value="0"/>
<property name="ireport.background.image" value="C:\Users\thou\workspace\cujillo\WebContent\resources\reports\fondo.png"/>
<property name="ireport.background.image.properties" value="false,true,0.25,0,0,0,0,0,0"/>
<property name="net.sf.jasperreports.image.dpi" value="96"/>
<parameter name="SUBREPORT_DIR" class="java.lang.String" isForPrompting="false">
<defaultValueExpression><![CDATA["C:/Users/thou/workspace/cujillo/WebContent/resources/reports/"]]></defaultValueExpression>
</parameter>
<parameter name="R_RADICADO" class="java.lang.String"/>
<parameter name="SUBREPORT_DATA_SOURCE" class="net.sf.jasperreports.engine.JRDataSource"/>
<parameter name="R_ASUNTO" class="java.lang.String"/>
<parameter name="R_LOCALIDAD" class="java.lang.String"/>
<parameter name="R_IMAGE_RENDERER" class="net.sf.jasperreports.engine.JRRenderable" isForPrompting="false"/>
<parameter name="R_PRINT_BACKGROUND" class="java.lang.String"/>
<background>
<band height="752"/>
</background>
<title>
<band height="371" …Run Code Online (Sandbox Code Playgroud) Statele ejb 旨在实现幂等并且不记忆以前的用户交互。对我来说,这听起来像是一个静态方法。
所以而不是有
public void save(Entity e) { em.persist(e); }
Run Code Online (Sandbox Code Playgroud)
安全吗
public static void save(Entity e) { em.persist(e); }
Run Code Online (Sandbox Code Playgroud)
在 EJB 内?
我希望能够在以下方面做出类似的东西:
@ManagedBean
class MyBackingBean {
public void processRequest() {
String viewName;
if (condition1)
viewName = "page1";
else if (condition2)
viewName = "pagexx";
invokeAndRenderXHTML(viewName);
}
}
Run Code Online (Sandbox Code Playgroud)
谢谢
两张桌子:
COR_RADICADO_OFICIO:
- num_radicado (pk)
- ano_radicado (pk)
Run Code Online (Sandbox Code Playgroud)
(我知道,复合pks是邪恶的,但它是遗留数据库,而不是我的设计;))
和
COR_RESPUESTA_OFICIO:
- num_radicado (text)(fk)
- ano_radicado (number)(fk)
- requiere_respuesta (number)
Run Code Online (Sandbox Code Playgroud)
在休眠:
createSQLQuery("select * from COR_RADICADO_OFICIO where REQUIERE_RESPUESTA = 399 " +
"and concat(concat(num_radicado , '_'), ano_radicado) not in "+
"(select concat(concat(num_radicado , '_), ano_radicado) from COR_RESPUESTA_OFICIO);" );
Run Code Online (Sandbox Code Playgroud)
如果我直接在oracle上执行此查询,它工作正常,但hibernate抛出
java.sql.SQLSyntaxErrorException: ORA-00911: invalid character
Run Code Online (Sandbox Code Playgroud)
尝试用'||'替换'concat'功能 并得到了同样的错误.
任何想法如何解决这个问题?(除了创建视图).