當前位置: 首頁>>代碼示例>>Java>>正文


Java JspTag類代碼示例

本文整理匯總了Java中com.intellij.psi.impl.source.jsp.jspXml.JspTag的典型用法代碼示例。如果您正苦於以下問題:Java JspTag類的具體用法?Java JspTag怎麽用?Java JspTag使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。


JspTag類屬於com.intellij.psi.impl.source.jsp.jspXml包,在下文中一共展示了JspTag類的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: registerReferenceProviders

import com.intellij.psi.impl.source.jsp.jspXml.JspTag; //導入依賴的package包/類
@Override
public void registerReferenceProviders(PsiReferenceRegistrar registrar)
{
	registrar.registerReferenceProvider(XmlPatterns.xmlAttributeValue(), new PsiReferenceProvider()
	{
		@NotNull
		@Override
		public PsiReference[] getReferencesByElement(@NotNull PsiElement element, @NotNull ProcessingContext context)
		{
			XmlAttribute xmlAttribute = PsiTreeUtil.getParentOfType(element, XmlAttribute.class);
			if(xmlAttribute == null)
			{
				return PsiReference.EMPTY_ARRAY;
			}
			JspTag jspTag = PsiTreeUtil.getParentOfType(element, JspTag.class);
			if(jspTag == null)
			{
				return PsiReference.EMPTY_ARRAY;
			}

			if("include".equals(jspTag.getName()) && "file".equals(xmlAttribute.getName()))
			{
				FileReferenceSet set = new FileReferenceSet(element);
				set.addCustomization(FileReferenceSet.DEFAULT_PATH_EVALUATOR_OPTION, file ->
				{
					Module module = ModuleUtilCore.findModuleForPsiElement(file);
					if(module == null)
					{
						return Collections.emptyList();
					}

					ContentFolder[] contentFolders = ModuleRootManager.getInstance(module).getContentFolders(ContentFolderScopes.of(WebResourcesFolderTypeProvider.getInstance()));
					PsiManager psiManager = PsiManager.getInstance(element.getProject());
					return Arrays.stream(contentFolders).map(contentFolder -> psiManager.findDirectory(contentFolder.getFile())).filter(Objects::nonNull).collect(Collectors.toList());
				});
				return set.getAllReferences();
			}
			return PsiReference.EMPTY_ARRAY;
		}
	});
}
 
開發者ID:consulo,項目名稱:consulo-javaee,代碼行數:42,代碼來源:JspReferenceContributor.java


注:本文中的com.intellij.psi.impl.source.jsp.jspXml.JspTag類示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。