jsf - IntelliJ 检查以查找没有 'id' 属性的标签

标签 jsf intellij-idea structural-search

我需要在 IntelliJ 中设置检查,以查找没有 `id 属性的 xhtml/html/jsf 页面元素。

<h:outputText value="myOutputValue"
                        styleClass="someStyle"/>
<h:outputText value="myOtherOutputValue" />

我尝试在“结构搜索”下的 intelliJ 中设置代码检查。但是,使用以下正则表达式我无法正确配置它。任何帮助,将不胜感激。

<(?:h:inputText|h:outputText)(?:\s+(?!id\b)[\w\-.:]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[\w\-.:]+))?)*\s*/?>

我知道正则表达式是有效的,因为它会在我的文件中输入查找框时找到匹配项。

最后一件事,最后我想扩展 (?:h:inputText|h:outputText) 以包含大量标签,以便在检查中使用变量或在 intelliJ 中使用其他内容那么该解决方案将是最好的。我们希望确保所有开发人员都将 id 属性放在所有适用的页面元素上,以帮助简化测试。 (JSF 标签很丑)

最佳答案

您可以使用如下结构搜索模式:

<$name$ $id$>

请记住设置正确的文件类型。点击Edit Variables...并为 $name$ 提供以下约束:
文本/正则表达式:h:inputText|h:outputText

$id$ 提供以下约束:
文本/正则表达式:id
出现次数:0,0

这将找到所有 <h:inputText><h:outputText>没有 id 的标签属性。

关于jsf - IntelliJ 检查以查找没有 'id' 属性的标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45800590/

相关文章:

ajax - 如何在selectOneMenu中将值传递给监听器

jsf - 如何显示以逗号或分号分隔的值列表

java - Intellij idea 2022.1.3 ultimate 显示错误java : JPS incremental annotation processing is disabled

java - 如何查看 Intellij Idea 中运行的实际命令(java)?

java - Intellij结构搜索: find field and corresponding getter (to migrate an annotation)

java - IntelliJ IDEA 脚本编写

intellij-idea - Intellij结构替换更改方法签名

jsf - java.lang.ClassNotFoundException : com. 太阳.faces.config.ConfigureListener

javascript - 通过 Javascript 单击时 PrimeFaces 单选按钮样式不更新

更新后 Gradle 构建失败