JasperReport でドル ($) 記号をエスケープする方法があるかどうか知りたいです (私は Dynamic Jasper を使用しています)。Unicode と xml エスケープを試みましたが、うまくいきません。
このエラーが発生します:
1. Syntax error on token "$F", { expected
value = $F{$}; //$JR_EXPR_ID=13$
<>
動的 Jasper レポート コードは次のとおりです。
drb.setTitle(screenTitleData)
.setSubtitle(styledSubTitle)
.setTitleStyle(titleStyle).setTitleHeight(new Integer(30))
.setSubtitleHeight(new Integer(20))
.setDetailHeight(new Integer(8))//defines the height for each record of the report
.setMargins(margin, margin, margin, margin)
.setDefaultStyles(titleStyle, null, headerStyle, columDetail)
.setPrintBackgroundOnOddRows(true)
.setOddRowBackgroundStyle(oddRowStyle)
.setColumnsPerPage(new Integer(1))//defines columns per page (like in the telephone guide)
.setColumnSpace(new Integer(5))
.setWhenNoData(SwtConstants.DYNAMIC_JASPER_NO_DATA_FOUND, null,true,true)
.setQuery(queryResult.getExecutedQuery(), DJConstants.QUERY_LANGUAGE_SQL);
ご覧のとおり、「setQuery」を使用しています。オブジェクトに保存された列のリストがあるため、リストを参照して、次のコードを使用して列を作成します。
// Varchar columns will not be styled
abstractColumn = ColumnBuilder.getNew()
.setColumnProperty(columns.get(i).getColumnLabel(), String.class.getName())
.setTitle(columns.get(i).getColumnLabel()).setWidth(85)
.setStyle(commonStyle).setHeaderStyle(headerStyle)
.build();
このエラーを再現したい場合は、次のようなクエリを入力してください:
Select '$' from dual
「}」文字でも同様のエラーが発生するので注意してください。
誰でも私を助けてくれますか?