質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
JSF

JSF (JavaServer Faces)とは、JavaベースのWebアプリケーションフレームワークの一つです。

Java EE

Java EE(Java Enterprise Edition)はJavaベースのテクノロジーとその相互運用の仕様をまとめたものです。サーバとクライアントのアーキテクチャを規定し、特定アプリケーションのクラス用に定義されたテクノロジー設定のプロファイルを使用します。

Q&A

0回答

3280閲覧

MIME タイプが見つからず困っています><

zyanpoyo

総合スコア13

JSF

JSF (JavaServer Faces)とは、JavaベースのWebアプリケーションフレームワークの一つです。

Java EE

Java EE(Java Enterprise Edition)はJavaベースのテクノロジーとその相互運用の仕様をまとめたものです。サーバとクライアントのアーキテクチャを規定し、特定アプリケーションのクラス用に定義されたテクノロジー設定のプロファイルを使用します。

0グッド

0クリップ

投稿2018/12/29 14:29

JavaEEとJSFのを使い、テーブルのデータを検索したり、削除したりする機能を作っています。

イメージ説明

この画面で素材IDなどをプルダウンメニューから指定し、キーワードを入力して検索を押すと
テーブルに対してキーワードをLIKE文で検索できたり、削除リンクを押すことでデータを削除することができます。

さきほど、素材管理の機能を作り終え、
別の機能を作っている途中で、素材管理の削除機能が動かなくなっていることがわかりました。
(別の機能を作る前まではしっかりと動作していた)

問題① キーワード検索機能はしっかりと動いているが、
エラーが出てしまう

問題②削除のリンクをクリックしても何もおこらず、エラーメッセージも表示されない

エラーメッセージの内容を検索してもいまいち、わからずとても困っています><
どなたかご教授おねがいします

イメージ説明

警告: JSF1091: ファイル /[entity.MaterialEntity@1557891b, entity.MaterialEntity@2d4af853] の MIME タイプが見つかりませんでした。これを解決するには、アプリケーションの web.xml に MIME タイプのマッピングを追加します。 警告: JSF1091: ファイル /[entity.MaterialEntity@4b3b0167, entity.MaterialEntity@4c44251c] の MIME タイプが見つかりませんでした。これを解決するには、アプリケーションの web.xml に MIME タイプのマッピングを追加します。 警告: JSF1091: ファイル /[entity.MaterialEntity@78e1f62a, entity.MaterialEntity@fd4013] の MIME タイプが見つかりませんでした。これを解決するには、アプリケーションの web.xml に MIME タイプのマッピングを追加します。 警告: JSF1091: ファイル /[entity.MaterialEntity@923d574] の MIME タイプが見つかりませんでした。これを解決するには、アプリケーションの web.xml に MIME タイプのマッピングを追加します。

素材管理のxhtml

JSF

1<div class="searcharea"> 2 <h:form> 3 <h:commandButton value="新しく素材を登録" styleClass="newstore btncolor" 4 action="#{mana_materialMana.mana_materialAdd()}"/> 5 </h:form> 6 <h:form> 7 <h:selectOneMenu value="#{mana_materialMana.city}" styleClass="selectsearch"> 8 <f:selectItems value="#{mana_materialMana.items}"/> 9 </h:selectOneMenu> 10 <h:inputText value="#{mana_materialMana.word}" size="20" styleClass="searchbox"/> 11 <h:commandButton value="検索" action="#{mana_materialMana.getMaterialDb()}" styleClass="searchbtn btncolor"> 12 13 </h:commandButton> 14 </h:form> 15 </div> 16 17 18 19 <div class="table"> 20 <h:dataTable value="#{mana_materialMana.materialEntitys}" var="Item" border="1" styleClass="mytable"> 21 <h:column> 22 <f:facet name="header"> 23 <h:outputText value=" "/> 24 </f:facet> 25 <h:commandLink value="削除" action="#{mana_materialMana.delet(Item)}"/> 26 </h:column> 27 <h:column> 28 <f:facet name="header"> 29 <h:outputText value="素材ID"/> 30 </f:facet> 31 <h:outputText value="#{Item.materialid}"/> 32 </h:column> 33 <h:column> 34 <f:facet name="header"> 35 <h:outputText value="素材名"/> 36 </f:facet> 37 <h:outputText value="#{Item.materialname}"/> 38 </h:column> 39 </h:dataTable> 40 </div>

mana_materialMana.java

javaEE

1 2import entity.MaterialEntity; 3import java.util.LinkedHashMap; 4import java.util.List; 5import java.util.Map; 6import javax.annotation.PostConstruct; 7import javax.ejb.EJB; 8import javax.enterprise.context.RequestScoped; 9import javax.inject.Named; 10import util.EntityDb; 11 12@Named 13@RequestScoped 14 15public class Mana_materialMana { 16 17 18 private Integer city; //選択結果 19 private String word; //検索ワード 20 21 22 private String materialid ; 23 private String materialname ; 24 25 26 private List<MaterialEntity> materialEntitys; 27 28 @EJB 29 EntityDb db; 30 31 private static Map<String,Integer> items; 32 static { 33 items = new LinkedHashMap<>(); 34 items.put("素材ID",1); 35 items.put("素材名",2); 36 } 37 38 39 public String mana_menu(){ /*メニュー画面を表示*/ 40 return "mana_menu?faces-redirect=true"; 41 } 42 43 public String backpage(){ /*戻るボタンを押したとき*/ 44 return "mana_menu?faces-redirect=true"; 45 } 46 47 public String mana_materialAdd(){ /*素材登録画面を表示*/ 48 return "mana_materialAdd?faces-redirect=true"; 49 } 50 51 52 53 @PostConstruct //コンストラクタの次に呼ばれるメソッド 54 public void getMaterialAll(){ 55 materialEntitys = db.getMaterialAll(); //全素材データをリストに入れる 56 } 57 58 59 public List<MaterialEntity> getMaterialDb(){ //素材情報を検索して返す 60 61 if(city==1){ //素材IDが選択されたとき 62 materialEntitys = db.whereMaterialID(word); 63 }else{ //素材名が選択されたとき 64 materialEntitys = db.whereMaterialNAME(word); 65 } 66 67 return materialEntitys; 68} 69 70 71 72 public String delet(MaterialEntity materialEntity){ //素材を削除する 73 db.materialdelet(materialEntity); 74 return null; 75 }

EntityDb.java

JavaEE

1import entity.MaterialEntity; 2import entity.ShopEntity; 3import java.util.List; 4import javax.ejb.Stateless; 5import javax.faces.application.FacesMessage; 6import javax.faces.context.FacesContext; 7import javax.persistence.EntityManager; 8import javax.persistence.PersistenceContext; 9import javax.persistence.TypedQuery; 10 11 12 13/** 14 * 15 * @author Owner 16 */ 17@Stateless 18public class EntityDb{ 19 @PersistenceContext 20 private EntityManager em; 21 22 /*登録メソッド*/ 23 public void shopcreate(ShopEntity shopemployee){ //新しい店舗をデータベースに新規登録する 24 em.persist(shopemployee); 25 } 26 27 public void materialcreate(MaterialEntity materialentity){ //新しい素材をデータベースに新規登録する 28 em.persist(materialentity); 29 } 30 31 32 33 /*一覧表示メソッド*/ 34 35 public List<MaterialEntity> getMaterialAll(){ //DBに登録されている素材すべてを表示する 36 return em.createQuery("SELECT c FROM MaterialEntity c").getResultList(); 37 38 } 39 40 41 public List<ShopEntity> getShopAll(){ //DBに登録されている店舗情報すべてを表示する 42 return em.createQuery("SELECT c FROM ShopEntity c").getResultList(); 43 } 44 45 46 47 48 49 50 51 /*削除メソッド*/ 52 53 public void materialdelet(MaterialEntity materialEntity){ //選択された素材を削除する 54 em.remove(em.merge(materialEntity)); 55 } 56 57 58 public void shopdelet(ShopEntity shopEntity){ //選択された店舗を削除する 59 em.remove(em.merge(shopEntity)); 60 } 61 62 63 64 65 66 67 68 69 70 /*条件表示メソッド*/ 71 public List<MaterialEntity> whereMaterialID(String word){ //素材IDから検索する 72 TypedQuery<MaterialEntity> q = (TypedQuery<MaterialEntity>) em.createQuery("SELECT c FROM MaterialEntity c WHERE c.materialid LIKE :valueword",MaterialEntity.class); 73 q.setParameter("valueword","%"+ word+"%"); //:valuewordにwordをセットする 74 return q.getResultList(); //JPQLを実行する 75 } 76 77 78 public List<MaterialEntity> whereMaterialNAME(String word){ //素材名から検索する 79 TypedQuery<MaterialEntity> q = (TypedQuery<MaterialEntity>) em.createQuery("SELECT c FROM MaterialEntity c WHERE c.materialname LIKE :valueword",MaterialEntity.class); 80 q.setParameter("valueword","%"+ word+"%"); //:valuewordにwordをセットする 81 return q.getResultList(); //JPQLを実行する 82 } 83

MaterialEntity.java

JavaEE

1@Entity 2@Table(name = "material_table") 3public class MaterialEntity implements Serializable{ 4 5 6 @Id @NotNull 7 private String materialid ; //素材ID 8 @NotNull 9 private String materialname ; //素材名 10 @OneToMany(mappedBy = "materialEntity") //materialEntity⇔clothesEntityの双方向関係 11 private List<ClothesEntity> clothesentity; 12 13 public MaterialEntity(){} 14 15 public MaterialEntity(String materialid,String materialname){ 16 this.materialid = materialid; 17 this.materialname = materialname; 18 } 19 20 public String getMaterialid() { 21 return materialid; 22 } 23 24 public void setMaterialid(String materialid) { 25 this.materialid = materialid; 26 } 27 28 public String getMaterialname() { 29 return materialname; 30 } 31 32 public void setMaterialname(String materialname) { 33 this.materialname = materialname; 34 } 35

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問