- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在开发一个基于Spring Boot的Web应用程序。我正在使用 thymeleaf 将内容注入(inject)我的网页。这是我的 Controller 类:
@GetMapping("/search")
public String searchPage(@RequestParam("q") String queryString) throws IOException, SolrServerException {
ModelMap model = new ModelMap();
SearchPageResult searchPageResult = tweelyzeConfig.getSearchResults(queryString);
System.out.println("Here are they==============================================");
System.out.println(searchPageResult.getCity());
System.out.println(searchPageResult.getHashtags());
System.out.println(searchPageResult.getLang());
System.out.println(searchPageResult.getText());
System.out.println(searchPageResult.getTopic());
System.out.println(searchPageResult.getTweet_urls());
model.addAttribute("searchresult",searchPageResult);
return "searchresult";
}
在这里,我接受来自 UI 的查询以搜索我的 solr。我正在使用 solrj 对 solr 进行剩余调用,以获得此查询的相关结果。我的 TweelyzeConfig 类:
private SolrQuery setSolrQuery(String query) {
solrQuery.setQuery(query);
return solrQuery;
}
public SearchPageResult getSearchResults(String query) throws IOException, SolrServerException {
QueryResponse queryResponse = solrClient.query(setSolrQuery(query));
List<SearchPageResult> sdList = queryResponse.getBeans(SearchPageResult.class);
return sdList.get(0);
}
我的 SearchResultPage 类是:
public class SearchPageResult {
private List<String> city;
private List<String> topic;
private List<String> lang;
private List<String> text;
private List<String> tweet_urls;
private List<String> hashtags;
public SearchPageResult(){}
@Field("city")
public void setCity(List<String> city) {
this.city = city;
}
@Field("topic")
public void setTopic(List<String> topic) {
this.topic = topic;
}
@Field("lang")
public void setLang(List<String> lang) {
this.lang = lang;
}
@Field("text")
public void setText(List<String> text) {
this.text = text;
}
@Field("tweet_urls")
public void setTweet_urls(List<String> tweet_urls) {
this.tweet_urls = tweet_urls;
}
@Field("hashtags")
public void setHashtags(List<String> hashtags) {
this.hashtags = hashtags;
}
public List<String> getCity() {
return city;
}
public List<String> getTopic() {
return topic;
}
public List<String> getLang() {
return lang;
}
public List<String> getText() {
return text;
}
public List<String> getTweet_urls() {
return tweet_urls;
}
public List<String> getHashtags() {
return hashtags;
}
}
这就是我尝试将内容嵌入到 html 中的方式:
<p th:text="${searchresult.text[0]}">hhhhhhhhh</p>
但我收到此错误:
Exception evaluating SpringEL expression: "searchresult.text[0]" (template: "searchresult" - line 90, col 23)
我不知道我做错了什么。如有任何帮助,我们将不胜感激。
更新:这是堆栈跟踪以便更好地引用。
2018-12-01 11:57:08.390 ERROR 38681 --- [nio-8080-exec-5] org.thymeleaf.TemplateEngine : [THYMELEAF][http-nio-8080-exec-5] Exception processing template "searchresult": Exception evaluating SpringEL expression: "searchPageResult.text[0]" (template: "searchresult" - line 90, col 23)
org.thymeleaf.exceptions.TemplateProcessingException: Exception evaluating SpringEL expression: "searchPageResult.text[0]" (template: "searchresult" - line 90, col 23)
at org.thymeleaf.spring5.expression.SPELVariableExpressionEvaluator.evaluate(SPELVariableExpressionEvaluator.java:290) ~[thymeleaf-spring5-3.0.11.RELEASE.jar:3.0.11.RELEASE]
at org.thymeleaf.standard.expression.VariableExpression.executeVariableExpression(VariableExpression.java:166) ~[thymeleaf-3.0.11.RELEASE.jar:3.0.11.RELEASE]
at org.thymeleaf.standard.expression.SimpleExpression.executeSimple(SimpleExpression.java:66) ~[thymeleaf-3.0.11.RELEASE.jar:3.0.11.RELEASE]
at org.thymeleaf.standard.expression.Expression.execute(Expression.java:109) ~[thymeleaf-3.0.11.RELEASE.jar:3.0.11.RELEASE]
at org.thymeleaf.standard.expression.Expression.execute(Expression.java:138) ~[thymeleaf-3.0.11.RELEASE.jar:3.0.11.RELEASE]
at org.thymeleaf.standard.processor.AbstractStandardExpressionAttributeTagProcessor.doProcess(AbstractStandardExpressionAttributeTagProcessor.java:144) ~[thymeleaf-3.0.11.RELEASE.jar:3.0.11.RELEASE]
at org.thymeleaf.processor.element.AbstractAttributeTagProcessor.doProcess(AbstractAttributeTagProcessor.java:74) ~[thymeleaf-3.0.11.RELEASE.jar:3.0.11.RELEASE]
at org.thymeleaf.processor.element.AbstractElementTagProcessor.process(AbstractElementTagProcessor.java:95) ~[thymeleaf-3.0.11.RELEASE.jar:3.0.11.RELEASE]
at org.thymeleaf.util.ProcessorConfigurationUtils$ElementTagProcessorWrapper.process(ProcessorConfigurationUtils.java:633) ~[thymeleaf-3.0.11.RELEASE.jar:3.0.11.RELEASE]
at org.thymeleaf.engine.ProcessorTemplateHandler.handleOpenElement(ProcessorTemplateHandler.java:1314) ~[thymeleaf-3.0.11.RELEASE.jar:3.0.11.RELEASE]
at org.thymeleaf.engine.OpenElementTag.beHandled(OpenElementTag.java:205) ~[thymeleaf-3.0.11.RELEASE.jar:3.0.11.RELEASE]
at org.thymeleaf.engine.TemplateModel.process(TemplateModel.java:136) ~[thymeleaf-3.0.11.RELEASE.jar:3.0.11.RELEASE]
at org.thymeleaf.engine.TemplateManager.parseAndProcess(TemplateManager.java:661) ~[thymeleaf-3.0.11.RELEASE.jar:3.0.11.RELEASE]
at org.thymeleaf.TemplateEngine.process(TemplateEngine.java:1098) [thymeleaf-3.0.11.RELEASE.jar:3.0.11.RELEASE]
at org.thymeleaf.TemplateEngine.process(TemplateEngine.java:1072) [thymeleaf-3.0.11.RELEASE.jar:3.0.11.RELEASE]
at org.thymeleaf.spring5.view.ThymeleafView.renderFragment(ThymeleafView.java:362) [thymeleaf-spring5-3.0.11.RELEASE.jar:3.0.11.RELEASE]
at org.thymeleaf.spring5.view.ThymeleafView.render(ThymeleafView.java:189) [thymeleaf-spring5-3.0.11.RELEASE.jar:3.0.11.RELEASE]
<snip>
... 105 common frames omitted
2018-12-01 11:57:08.394 ERROR 38681 --- [nio-8080-exec-5] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is org.thymeleaf.exceptions.TemplateProcessingException: Exception evaluating SpringEL expression: "searchPageResult.text[0]" (template: "searchresult" - line 90, col 23)] with root cause
org.springframework.expression.spel.SpelEvaluationException: EL1007E: Property or field 'text' cannot be found on null
at org.springframework.expression.spel.ast.PropertyOrFieldReference.readProperty(PropertyOrFieldReference.java:213) ~[spring-expression-5.1.2.RELEASE.jar:5.1.2.RELEASE]
at org.springframework.expression.spel.ast.PropertyOrFieldReference.getValueInternal(PropertyOrFieldReference.java:104) ~[spring-expression-5.1.2.RELEASE.jar:5.1.2.RELEASE]
at org.springframework.expression.spel.ast.PropertyOrFieldReference.getValueInternal(PropertyOrFieldReference.java:91) ~[spring-expression-5.1.2.RELEASE.jar:5.1.2.RELEASE]
at org.springframework.expression.spel.ast.CompoundExpression.getValueRef(CompoundExpression.java:59) ~[spring-expression-5.1.2.RELEASE.jar:5.1.2.RELEASE]
at org.springframework.expression.spel.ast.CompoundExpression.getValueInternal(CompoundExpression.java:89) ~[spring-expression-5.1.2.RELEASE.jar:5.1.2.RELEASE]
at org.springframework.expression.spel.ast.SpelNodeImpl.getValue(SpelNodeImpl.java:111) ~[spring-expression-5.1.2.RELEASE.jar:5.1.2.RELEASE]
at org.springframework.expression.spel.standard.SpelExpression.getValue(SpelExpression.java:328) ~[spring-expression-5.1.2.RELEASE.jar:5.1.2.RELEASE]
at org.thymeleaf.spring5.expression.SPELVariableExpressionEvaluator.evaluate(SPELVariableExpressionEvaluator.java:263) ~[thymeleaf-spring5-3.0.11.RELEASE.jar:3.0.11.RELEASE]
at org.thymeleaf.standard.expression.VariableExpression.executeVariableExpression(VariableExpression.java:166) ~[thymeleaf-3.0.11.RELEASE.jar:3.0.11.RELEASE]
at org.thymeleaf.standard.expression.SimpleExpression.executeSimple(SimpleExpression.java:66) ~[thymeleaf-3.0.11.RELEASE.jar:3.0.11.RELEASE]
at org.thymeleaf.standard.expression.Expression.execute(Expression.java:109) ~[thymeleaf-3.0.11.RELEASE.jar:3.0.11.RELEASE]
at org.thymeleaf.standard.expression.Expression.execute(Expression.java:138) ~[thymeleaf-3.0.11.RELEASE.jar:3.0.11.RELEASE]
at org.thymeleaf.standard.processor.AbstractStandardExpressionAttributeTagProcessor.doProcess(AbstractStandardExpressionAttributeTagProcessor.java:144) ~[thymeleaf-3.0.11.RELEASE.jar:3.0.11.RELEASE]
at org.thymeleaf.processor.element.AbstractAttributeTagProcessor.doProcess(AbstractAttributeTagProcessor.java:74) ~[thymeleaf-3.0.11.RELEASE.jar:3.0.11.RELEASE]
at org.thymeleaf.processor.element.AbstractElementTagProcessor.process(AbstractElementTagProcessor.java:95) ~[thymeleaf-3.0.11.RELEASE.jar:3.0.11.RELEASE]
at org.thymeleaf.util.ProcessorConfigurationUtils$ElementTagProcessorWrapper.process(ProcessorConfigurationUtils.java:633) ~[thymeleaf-3.0.11.RELEASE.jar:3.0.11.RELEASE]
<snip>
最佳答案
您的实体中没有任何名为 text 的属性。这导致模板解析器失败,正如您在控制台中看到的那样。
Caused by: org.springframework.expression.spel.SpelEvaluationException: EL1007E: Property or field 'text' cannot be found on null
您需要使用正确的字段名称。例如,使用 city
而不是 text
。下面的代码应该可以工作。
<th:block th:each="city : ${searchPageResult.city}">
<h1><span th:text="${city}" /></h1>
</th:block>
对于实体的其余属性,只需对其相应的名称执行相同的操作即可。
关于java - 异常处理模板 "searchresult",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53568927/
我使用 golang elastic 5 API 在 ElasticSearch 中运行查询。我使用 searchResult.TotalHits() 检查命中数,它给了我一个很大的数字(超过 100
我正在开发一个基于Spring Boot的Web应用程序。我正在使用 thymeleaf 将内容注入(inject)我的网页。这是我的 Controller 类: @GetMapping("/sear
我正在使用 DirectorySearcher.FindOne() 方法。 我已在 Active Directory 用户属性中指定了移动号码。我的搜索过滤器看起来像这样 (&(ObjectClass
我正在使用 DirectorySearcher.FindOne() 方法。 我在我的 Active Directory 用户属性中指定了 Mobile 号码。我的搜索过滤器看起来像这样 (&(Obje
我正在使用 Jest 来查询 Elasticsearch,到目前为止它一直很棒。 Jest's documentation说: Result can be cast to List of domain
我有一个 POJO 类 SearchResults,它包含 4 个字符串(标题、数字、日期、状态),然后是它的所有 getter 和 setter 方法。 在另一个类(class)中,我填充了 Arr
我用这段代码在我的 tableView 上添加了一个复选标记附件:- override func tableView(tableView: UITableView, didSelectRowAtIn
如果您有一个需要测试的方法,该方法接受 SearchResults 列表 public virtual void ProcessResults(IList list) { //Code to
将我的 Django 从 1.7 更新到 1.9 后,基于 Haystack 和 Solr 的搜索引擎停止工作。这是我得到的: ./manage.py shell Python 2.7.6 (defa
这是我的第一个问题。如果我犯了任何错误或违反了论坛规则,我深表歉意 我用confluence我尝试为融合搜索编写自定义代码。 我还有下一个类 com.atlassian.confluence.sear
我正在完成一个项目,但在 google app engine 上使用 python 时遇到了问题。我有一个保留笔记条目的应用程序。我希望能够搜索这些条目,我正在使用此链接: https://devel
我有一个 UISearchDisplayController,它位于我的 UITableView 的标题 View 中。我想知道 UISearchDisplayController 的 searchR
我应该在我的代码中添加什么以仅显示我的搜索结果? 现在当我搜索时,搜索结果被选中(突出显示),其他保持不变。 一直试图隐藏其他行但没有成功(并且只显示搜索结果,单独)。有什么建议么?我正在使用数据 G
我正在用java编程语言编写代码。 写完后,我用以下命令编译了代码: javac BingImageSearch.java -classpath ./gson-2.8.1.jar -encoding
我不想在我的服务器处理搜索查询时显示“无结果”文本。 我计算出了包含标签的表格单元格的确切坐标,并尝试覆盖它。 self.noResultsCoverView = [[[UIView alloc] i
我想在 LDAP 服务器中查找数据。当我使用以下代码时,它希望我拥有 NamingEnumeration (不是 List、HashMap),并且还强制我使用 SearchResult 类型。 Nam
我有这个方法,当我收到服务器的响应时,尝试刷新此 TableView ,但结果表不会重新加载。 -(BOOL)searchDisplayController:(UISearchDisplayContr
我在执行answer.nextElement() 时,jre 内部出现错误 java.lang.NullPointerException: null at com.sun.jndi.ldap.Ldap
我将 Django Haystack 与 Elasticsearch 一起使用。 ElasticSearch 可以执行距离查询并针对 5 英里半径返回 11 个结果,而 Haystack 的 dwit
我编写了一个查询来从 Active Directory 中读取一些内容,但结果是某种“ResultPropertyCollection”,这是我不熟悉的内容。 如何将此结果转换为我更熟悉的列表(如通用
我是一名优秀的程序员,十分优秀!