我已经创建了 6 个 Jasper 报告模板,所有静态文本字段都使用 SQL 查询来填写。SQL 查询使用我传入的 2 个参数:FirstName和LastName。我还传递了另外两个将被添加到报告中的参数。
这是我到目前为止将带有参数的 HashMap 传递给报告的代码。但是我迷路了,因为我真的找不到任何好的文档或示例。
package print;
import net.sf.jasperreports.engine.*;
import net.sf.jasperreports.engine.export.*;
import java.util.*;
public class PrintCertificate
{
public PrintCertificate(String output, String certType, String firstName, String lastName, String confirmDate, String pastorName)
{
if(certType=="rci_eng")
{
String fileName = "/RCI_Eng.jasper";
output = "C:/Users/User/Desktop/Test/";
HashMap<String, Object> map = new HashMap<String, Object>();
map.put("FirstName",firstName);
map.put("LastName",lastName);
map.put("PastorName", pastorName);
map.put("DateOfConfirmation", confirmDate);
try
{
JasperPrint print = JasperFillManager.fillReport(fileName, map);
JRDocxExporter exporter = new JRDocxExporter();
exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
exporter.setParameter(JRExporterParameter.OUTPUT_FILE_NAME, …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用正则表达式,正则表达式来测试电话号码格式,当我运行Pattern.compile时,我收到错误java.util.regex.PatternSyntaxException:未附近的组索引34
public String checkPhoneNum(String inPhoneNum)
{
Pattern checkRegex = Pattern.compile("(\\([0-9]{3}\\)([0-9]{3}(-)[0-9]{4})");
Matcher regexMatcher = checkRegex.matcher(inPhoneNum);
if(regexMatcher.find())
{
return inPhoneNum;
}
else
return null;
}
Run Code Online (Sandbox Code Playgroud)
是(\\([0-9]{3}\\)([0-9]{3}(-)[0-9]{4})格式(000)111-2222没有正确写的字符串?