私はPHPアプリケーションでジャスパーレポートを生成しようとしています。私はSymfony2を研究しています。実際に私のアプリケーションで私のレポートを生成するが、問題はIreportで、私は私のPHPアプリケーションから送信するPHP変数を取得していない。そして私の報告はJasperserverにあります。IreportでPHP変数を取得する方法
これは私のPHPアプリケーションから自分の行動である:私は明らかだ願ってい
<?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="RechercheGoogle" language="groovy" pageWidth="595" pageHeight="842" whenNoDataType="AllSectionsNoDetail" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" uuid="7e1de1d9-a08e-47ec-8af2-e93dbec288e7">
<property name="ireport.zoom" value="1.0"/>
<property name="ireport.x" value="0"/>
<property name="ireport.y" value="0"/>
<parameter name="id_pef" class="java.lang.Integer"/>
<background>
<band splitType="Stretch"/>
</background>
<title>
<band height="270" splitType="Stretch">
<staticText>
<reportElement x="82" y="34" width="100" height="20" uuid="8969389a-851b-44e5-a88c-14a4b217fc47"/>
<text><![CDATA[Coucou !!!]]></text>
</staticText>
<staticText>
<reportElement x="252" y="21" width="240" height="58" uuid="1bebe360-cabf-485f-a158-befade8ee7a9"/>
<textElement>
<font size="14"/>
</textElement>
<text><![CDATA[ID du PEF: $P{id_pef}]]></text>
</staticText>
<textField>
<reportElement x="322" y="125" width="100" height="20" uuid="eae36fce-573e-484c-8cca-e8b4007d5e2b"/>
<textFieldExpression><![CDATA[$P{id_pef}]]></textFieldExpression>
</textField>
<textField>
<reportElement x="224" y="109" width="100" height="20" uuid="2e2db24f-899b-45d0-9434-62cdd0f35171"/>
<textFieldExpression><![CDATA[$P{id_pef}]]></textFieldExpression>
</textField>
</band>
</title>
<pageHeader>
<band height="35" splitType="Stretch"/>
</pageHeader>
<columnHeader>
<band height="61" splitType="Stretch"/>
</columnHeader>
<detail>
<band height="125" splitType="Stretch"/>
</detail>
<columnFooter>
<band height="45" splitType="Stretch"/>
</columnFooter>
<pageFooter>
<band height="54" splitType="Stretch"/>
</pageFooter>
<summary>
<band height="42" splitType="Stretch">
<textField>
<reportElement x="432" y="22" width="100" height="20" uuid="0d41b36b-f441-400c-af62-753fa3cb4b63"/>
<textFieldExpression><![CDATA[$V{PAGE_NUMBER}]]></textFieldExpression>
</textField>
</band>
</summary>
</jasperReport>
:
public function result_recherche_googleAction(){
$em = $this->getDoctrine()->getManager();
$request = $this->getRequest();
$id_pef = $request->request->get('id_pef');
if ($request->isXmlHttpRequest()) {
$jasperclient=new JasperClient();
$lien=$jasperclient->getUrlManyParams($this->container,"RechercheGoogle",array("id_pef" => $id_pef));
return $this->get('templating')->renderResponse('gideBundle:Edition:res_edition_recherche_google.html.twig',array(
//'trans'=>$pefs,
'lien'=>$lien,
));
//}
}
else {
//return $this->feuillePEFAction();
return new Response(json_encode($id_pef));
}
}
は、これは私のレポートからのコードです。私はすべてを試して、私は多くのことを検索しますが、私の問題に関する情報はすべて探します。私は誰かが私を助けてくれることを願っています。私の問題についての詳細な情報が必要な場合は教えてください。
EDIT:
この私がjasperserverでリンクを作成するためにsymfonyのparameter.ymlに入れる:
jasper:
hostname: localhost
tcpport: '8080'
parentfolder: reports/nightly
username: username
userpass: mdp
specialparams: '_flowId=viewReportFlow&standAlone=true&_datasource=nightlydatasource'
私のPHPのvariablre上のvar_dumpで "*先取特権" 私はこのURLを持っています:
string 'http://localhost:8080/jasperserver/flow.html?_flowId=viewReportFlow&standAlone=true&_datasource=nightlydatasource&ParentFolderUri=reports/nightly&j_username=username&j_password=mdp&reportUnit=%2freports/nightly%2fRechercheGoogle&id_pef=104039-01-01' (length=269)
私は自分の見解でレポートを呼び出します。レポートは正しくコールされていますが、レポートにphp変数がありません。
ありがとうございます。しかし、私はJasperClientを使用します。これはJasperのPHPクラスです: – Arendelle
私は上記のライブラリを使っていますが、あなたの既存のライブラリを変更することはできませんでしたが、SQL関数を使用して値thrを渡すことはできませんでした –
申し訳ありません、このアプリケーションは他の誰かによって開発されたので、今はそれが私のものです。だからあなたはライブラリJasperClientを使用しましたか?そして私はそれをどのように価値thrに渡すことができますか? – Arendelle