0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

要素タイプ"meta"は、対応する終了タグ"</meta>"で終了する必要があります。となったときの対応方法

Posted at
  • 環境
    • Windows10 64bit バージョン1909
    • openjdk 11 2018-09-25
    • Eclipse IDE for Enterprise Java Developers Version: 2020-03 (4.15.0)
    • JSF 2.3.9

事象 : metaタグでviewportを指定したらエラーになった

2020-08-19 11:02:09:810 X-TrackingId:6ac183f5-3ea5-41d4-993b-231267d1    ERROR   ExceptionHandler.handle:63 Error Parsing /ponsuke/sampleEdit.xhtml: Error Traced[line: 28] 要素タイプ"meta"は、対応する終了タグ"</meta>"で終了する必要があります。
javax.faces.view.facelets.FaceletException: Error Parsing /ponsuke/sampleEdit.xhtml: Error Traced[line: 28] 要素タイプ"meta"は、対応する終了タグ"</meta>"で終了する必要があります。
    at com.sun.faces.facelets.compiler.SAXCompiler.doCompile(SAXCompiler.java:445)
    at com.sun.faces.facelets.compiler.SAXCompiler.doMetadataCompile(SAXCompiler.java:428)
    at com.sun.faces.facelets.compiler.Compiler.metadataCompile(Compiler.java:88)
    at com.sun.faces.facelets.impl.DefaultFaceletFactory.createMetadataFacelet(DefaultFaceletFactory.java:455)
    at com.sun.faces.facelets.impl.DefaultFaceletFactory.access$200(DefaultFaceletFactory.java:65)
    at com.sun.faces.facelets.impl.DefaultFaceletFactory$2.newInstance(DefaultFaceletFactory.java:166)
    at com.sun.faces.facelets.impl.DefaultFaceletFactory$2.newInstance(DefaultFaceletFactory.java:163)
    at com.sun.faces.facelets.impl.DefaultFaceletCache$2.newInstance(DefaultFaceletCache.java:76)
    at com.sun.faces.facelets.impl.DefaultFaceletCache$2.newInstance(DefaultFaceletCache.java:69)
    at com.sun.faces.util.ExpiringConcurrentCache$1.call(ExpiringConcurrentCache.java:76)
    at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
    at com.sun.faces.util.ExpiringConcurrentCache.get(ExpiringConcurrentCache.java:91)
    at com.sun.faces.facelets.impl.DefaultFaceletCache.getViewMetadataFacelet(DefaultFaceletCache.java:124)
    at com.sun.faces.facelets.impl.DefaultFaceletCache.getViewMetadataFacelet(DefaultFaceletCache.java:39)
    at com.sun.faces.facelets.impl.DefaultFaceletFactory.getMetadataFacelet(DefaultFaceletFactory.java:268)
    at com.sun.faces.facelets.impl.DefaultFaceletFactory.getMetadataFacelet(DefaultFaceletFactory.java:198)
    at com.sun.faces.application.view.ViewMetadataImpl.createMetadataView(ViewMetadataImpl.java:122)
    at com.sun.faces.lifecycle.RestoreViewPhase.execute(RestoreViewPhase.java:223)
...省略...
sampleEdit.xhtml
<h:head>
  <!--省略-->
  <meta name="viewport" content="width=device-width, initial-scale=1">
</h:head>

原因 : タグを閉じていないから

タグの省略
空要素であるため開始タグは必須であり、終了タグは置いてはいけません。
<meta>: 文書レベルメタデータ要素 - HTML: HyperText Markup Language | MDN

え・・・・metaタグって終了タグ必要なの?

終了タグ
なし(XHTMLの場合は/を最後につける)
metaタグとは|コーディングのプロが作るHTMLタグ辞典

おぉぉ、XHTMLファイルを使っているから空要素には終了 />が必要だった!

C.2 空要素
たとえば <br /> や <hr />, <img src="karen.jpg" alt="Karen" /> といったように、空要素の末尾の / と > との前にスペースを1個組み込むこと。また、たとえば
といったように、空要素には最小化タグ文法を使うこと。これは、XMLで許容されている代わりの文法
は、多くの既存のユーザエージェントでは与えられる結果が一定しないからである。
XHTML 1.0: 拡張可能ハイパーテキストマークアップ言語

対応 : XHTMLでは空要素であるmetaタグの最後に/をつける

sampleEdit.xhtml
<h:head>
  <!--省略-->
  <meta name="viewport" content="width=device-width, initial-scale=1" />
</h:head>
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?