GVKun编程网logo

错误为java.lang.String的selectonemenu无法转换为javax.faces.model.SelectItem(java.lang.string无法转换为char)

19

在本文中,您将会了解到关于错误为java.lang.String的selectonemenu无法转换为javax.faces.model.SelectItem的新资讯,同时我们还将为您解释java.l

在本文中,您将会了解到关于错误为java.lang.String的selectonemenu无法转换为javax.faces.model.SelectItem的新资讯,同时我们还将为您解释java.lang.string无法转换为char的相关在本文中,我们将带你探索错误为java.lang.String的selectonemenu无法转换为javax.faces.model.SelectItem的奥秘,分析java.lang.string无法转换为char的特点,并给出一些关于'UnexpectedTagNameException' and Element should have been “select” but was“div” error using 'Select' function through Selenium java、ajax – 如果设置了$selectOneMenu的值,则更新SelectOneMenu(不触发事件)、android – org.json.JSONException:值<!DOCTYPE类型java.lang.String无法转换为JSONObject、AsyncTask:ClassCastException:java.lang.Object []无法转换为java.lang.String []的实用技巧。

本文目录一览:

错误为java.lang.String的selectonemenu无法转换为javax.faces.model.SelectItem(java.lang.string无法转换为char)

错误为java.lang.String的selectonemenu无法转换为javax.faces.model.SelectItem(java.lang.string无法转换为char)

我想填写一个selectonemenu,但总是出现此错误:

java.lang.String cannot be cast to javax.faces.model.SelectItem

这是代码:

public class ToolsJIRA implements Serializable{private String myChoicePeriod; //getters and setters}

JSF:

  <h:selectOneMenu value="#{ToolsJIRA.myChoicePeriod}">                   <f:selectItem itemValue="Month" value="Month"/>                   <f:selectItem itemValue="Week" value="Week"/>                   <f:selectItem itemValue="Year" value="Year"/>  </h:selectOneMenu>

我发现我应该写一个转换器,但是我不知道为什么?因为我已经看到了一些没有转换器的示例工作?

谢谢

答案1

小编典典

在您的网页中尝试此代码

<h:selectOneMenu value="#{checkBoxBean.myChoicePeriod}">                <f:selectItem itemValue="Month" />                <f:selectItem itemValue="Week" />                <f:selectItem itemValue="Year" />             </h:selectOneMenu>

不要将其值属性用于不同目的

'UnexpectedTagNameException' and Element should have been “select” but was“div” error using 'Select' function through Selenium java

'UnexpectedTagNameException' and Element should have been “select” but was“div” error using 'Select' function through Selenium java

如何解决''UnexpectedTagNameException'' and Element should have been “select” but was“div” error using ''Select'' function through Selenium java?

This error message…

''UnexpectedTagNameException'' : Element should have been "select" but was "div"

…暗示您已使用Select类与元素进行交互,其中元素为<div>

click()在文本上具有借入能力的元素上,可以使用以下定位策略:

  • xpath:
        new webdriverwait(driver, 20).until(ExpectedConditions.elementToBeClickable(By.xpath("//h4[@bta-description'' and text()=''Our calculators'']//following::div[@bta-select-table row'']//b[@button'']"))).click();
        new webdriverwait(driver, 20).until(ExpectedConditions.elementToBeClickable(By.xpath("//div[@selectric-items'']//li[contains(., ''Borrowing Capacity'')]"))).click();

解决方法

在这种形式的下拉列表中,选择不起作用。

我为此写代码

    public static void main(String[] args) throws InterruptedException 
    {
    WebDriver driver =new ChromeDriver();
    //driver.manage().window().maximize();
    driver.get("http://www.ia.ca/");
    Thread.sleep(3000);
    driver.findElement(By.xpath("//*[@id=\"nav-secondaire\"]/div[1]/ul/li[4]/a")).click();
    driver.findElement(By.xpath("//*[@id=\"nav-secondaire\"]/div[1]/ul/li[4]/ul/li[1]/section/ul/li[1]/a")).click();

   //DropDown code
    WebElement selectMyElement =driver.findElement(By.xpath("//*[@id=\"grille-zone-cta\"]/div/div/div/div/div/div[2]/div[1]"));
    Select cal = new Select(selectMyElement);
    cal.selectByIndex(1);

它给了我例外

‘UnexpectedTagNameException’

错误消息是

元素应为“选择”但为“ div”

ajax – 如果设置了$selectOneMenu的值,则更新SelectOneMenu(不触发事件)

ajax – 如果设置了$selectOneMenu的值,则更新SelectOneMenu(不触发事件)

在我的应用程序中,如果设置了另一个SelectOneMenu,我正在尝试设置/更新SelectOneMenu.我们正在使用primefaces,所以我检查了primefaces展示,找到了我正在寻找的东西.不幸的是它不起作用.事件没有解雇,我不知道为什么.希望你能帮助我

Link to the Example of the primefaces showcase

– >如果设置了语言,它应该自动重新加载带有称呼的列表,但事实并非如此.我必须按F5重新加载.有任何想法吗?

我的xHTML代码

<h:form id="addressBasicsForm">
  <p:growl id="growl" sticky="true" showDetail="true"/>
  <p:tabView id="tabView">
    <p:tab id="stammdaten" title="#{msg.adr_basics_tabtitle}">
  <table>
        <tr>
          <td>
    <p:panel toggleable="false">
      <table>
        <tr>
          <td>
            <p:selectOneMenu id="somLang" value="#AddressBasics_m.languageId}">
              <f:selectItems value="#{AddressBasics_m.languageItems}"/>
                      <p:ajax update="somAnrede" listener="#{AdressBasics_m.handleLanguageChange}"/>
            </p:selectOneMenu>
          </td>
        </tr>
        <tr>
          <td>
            <p:selectOneMenu id="somAnrede" value="#AddressBasics_m.salutationId}">
              <f:selectItems value="#{AddressBasics_m.salutationItems}" />
            </p:selectOneMenu>
          </td>

我的豆

@Named("AddressBasics_m")
@ConversationScoped
public class AddressBasicsView implements Serializable{
private static final long serialVersionUID = -4034697810438325785L;

public List<SelectItem> getSalutationItems(){
    if(firstrun)
        languageId = 21L;

    firstrun = false;
    if(salutationItems == null || lastLanguageId != languageId){
        salutationItems = addressService.getAllSalutationsByLangId(languageId);
        setLastLanguageId(languageId);
    }
    return salutationItems;
}

public void handleLanguageChange(){
    this.salutationItems = getSalutationItems();
}

解决方法

我相信问题出在您的Ajax调用上.
Ajax可能非常棘手,我会推荐两种不同的方法:

<p:ajax render="@form" listener="#{AdressBasics_m.handleLanguageChange}"/>

要么

<p:ajax update=":addressBasicsForm:tabView:stammdaten:somAnrede" listener="#{AdressBasics_m.handleLanguageChange}"/>

android – org.json.JSONException:值<!DOCTYPE类型java.lang.String无法转换为JSONObject

android – org.json.JSONException:值<!DOCTYPE类型java.lang.String无法转换为JSONObject

在这里,我想使用API​​密钥显示 JSON内容.但我无法获得身份验证.

我在JsonObject中收到错误:

org.json.JSONException: Value Authorization of type java.lang.String cannot be converted to JSONObject

在我的Android应用程序中,我只是传递API密钥和URL id以获取以下URL中的JSON响应.我使用JSON数组显示JSON内容.

但如果我:

public class AndroidAPiActivity extends Activity {

/*
 * FlickrQuery = FlickrQuery_url
 * + FlickrQuery_per_page
 * + FlickrQuery_nojsoncallback
 * + FlickrQuery_format
 * + FlickrQuery_tag + q
 * + FlickrQuery_key + FlickrApiKey
 */

String FlickrQuery_url = "http://192.138.11.9/api/interests/";
String FlickrQuery_per_page = "&per_page=1";
String FlickrQuery_nojsoncallback = "&nojsoncallback=1";
String FlickrQuery_format = "&format=json";
String FlickrQuery_tag = "&tags=";
String FlickrQuery_key = "&api_key=";

// Apply your Flickr API:
// www.flickr.com/services/apps/create/apply/?
   String FlickrApiKey = "f65215602df8f8af";

   EditText searchText;
   Button searchButton;
   TextView textQueryResult,textJsonResult;
   ImageView imageFlickrPhoto;
   Bitmap bmFlickr;

   /** Called when the activity is first created. */
   @Override
   public void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);
       setContentView(R.layout.main);

       searchText = (EditText)findViewById(R.id.searchtext);
       searchButton = (Button)findViewById(R.id.searchbutton);
       textQueryResult = (TextView)findViewById(R.id.queryresult);
       textJsonResult = (TextView)findViewById(R.id.jsonresult);
       imageFlickrPhoto = (ImageView)findViewById(R.id.flickrPhoto);
       searchButton.setonClickListener(searchButtonOnClickListener);
   }

   private Button.OnClickListener searchButtonOnClickListener
   = new Button.OnClickListener(){

 public void onClick(View arg0) {
  // Todo Auto-generated method stub
  String searchQ = searchText.getText().toString();
  String searchResult = QueryFlickr(searchQ);
  textQueryResult.setText(searchResult);
  String jsonResult = ParseJSON(searchResult);
  textJsonResult.setText(jsonResult);

  if (bmFlickr != null){
   imageFlickrPhoto.setimageBitmap(bmFlickr);
  }
 }};

   private String QueryFlickr(String q){

    String qResult = null;

    String qString =
      FlickrQuery_url
      + FlickrQuery_per_page
      + FlickrQuery_nojsoncallback
      + FlickrQuery_format
      + FlickrQuery_tag + q 
      + FlickrQuery_key + FlickrApiKey;

    HttpClient httpClient = new DefaultHttpClient();
       HttpGet httpGet = new HttpGet(qString);

       try {
  httpentity httpentity = httpClient.execute(httpGet).getEntity();

  if (httpentity != null){
   InputStream inputStream = httpentity.getContent();
   Reader in = new InputStreamReader(inputStream);
   BufferedReader bufferedreader = new BufferedReader(in);
   StringBuilder stringBuilder = new StringBuilder();

   String stringReadLine = null;

   while ((stringReadLine = bufferedreader.readLine()) != null) {
    stringBuilder.append(stringReadLine + "\n");
    }

   qResult = stringBuilder.toString();

  }

 } catch (ClientProtocolException e) {
  // Todo Auto-generated catch block
  e.printstacktrace();
 } catch (IOException e) {  
  // Todo Auto-generated catch block
  e.printstacktrace();
 }

       return qResult;
   }

   private String ParseJSON(String json){

    String jResult = null;
    bmFlickr = null;
    String key_id;
    String category;
    String subcategory;
    String title;
    String icon_image;

    try
     {
  JSONObject JsonObject = new JSONObject(json);
  JSONObject Json_photos = JsonObject.getJSONObject("interests");
  JSONArray JsonArray_photo = Json_photos.getJSONArray("interest");

  //We have only one photo in this exercise
  JSONObject FlickrPhoto = JsonArray_photo.getJSONObject(0);

  key_id = FlickrPhoto.getString("row_key");
  category = FlickrPhoto.getString("category");
  subcategory = FlickrPhoto.getString("subcategory");
   title = FlickrPhoto.getString("title");

  jResult = "\n key_id: " + key_id + "\n"
    + "category: " + category + "\n"
    + "subcategory: " + subcategory + "\n"
    + "title: " + title + "\n";

  bmFlickr = LoadPhotoFromFlickr(key_id,category,subcategory,title);

 } catch (JSONException e) {
  // Todo Auto-generated catch block
  e.printstacktrace();
 }

    return jResult;
   }

   private Bitmap LoadPhotoFromFlickr(
     String key_id,String category,String subcategory,String title){
    Bitmap bm= null;

    String icon_image = null;
 //   String FlickrPhotoPath ="";
   String FlickrPhotoPath ="http://182.72.180.34/media/"+icon_image+".jpg";

    URL FlickrPhotoUrl = null;

    try {

  FlickrPhotoUrl = new URL(FlickrPhotoPath);

  HttpURLConnection httpconnection = (HttpURLConnection) FlickrPhotoUrl.openConnection();
  httpconnection.setDoInput(true);
  httpconnection.connect();
  InputStream inputStream = httpconnection.getInputStream();
  bm = BitmapFactory.decodeStream(inputStream);

 } catch (MalformedURLException e) {
  // Todo Auto-generated catch block
  e.printstacktrace();
 } catch (IOException e) {
  // Todo Auto-generated catch block
  e.printstacktrace();
 }

    return bm;
   }
}

解决方法

更新:

基于HTML响应,我可以告诉你这不是JSON.该响应告诉我您的Web服务的URL不正确.

您需要检查您的网址.

额外信息/上一个答案:

看起来简单的答案是正确的 – 您的结果不是有效的JSON字符串.有关JSON应该是什么样的详细信息,请参见JSON.org网站.

查看JSON Parser Online – 我发现它在使用JSON时非常有用.

很奇怪你正在请求JSON,它没有正确地返回它 – 也许我错过了一些东西.

AsyncTask:ClassCastException:java.lang.Object []无法转换为java.lang.String []

AsyncTask:ClassCastException:java.lang.Object []无法转换为java.lang.String []

在我的应用程序中,我为gcm ccs(xmpp)运行这些代码,并且代码显示以下错误执行时发生错误doinbackground.excute()
这是代码:

sendTask = new AsyncTask<String,String,String>() {
    protected String doInBackground(String... title) {

        Bundle data = new Bundle();
        data.putString("ACTION",action);
        data.putString("CLIENT_MESSAGE","Hello GCM CCS XMPP!");
        String id = Integer.toString(ccsMsgId.incrementAndGet());

        try {
            Log.d("RegisterActivity","messageid: " + id);
            gcm.send(SENDER_ID + "@gcm.googleapis.com",id,data);
            Log.d("RegisterActivity","After gcm.send successful.");
        } catch (IOException e) {
            Log.d("RegisterActivity","Exception: " + e);
            e.printStackTrace();
        }
        return "Sent message.";
    }

    protected void onPostExecute(String result) {
        sendTask = null;
        // tosat about the success in return
    }
};

sendTask.execute(null,null,null);

我们今天的关于错误为java.lang.String的selectonemenu无法转换为javax.faces.model.SelectItemjava.lang.string无法转换为char的分享已经告一段落,感谢您的关注,如果您想了解更多关于'UnexpectedTagNameException' and Element should have been “select” but was“div” error using 'Select' function through Selenium java、ajax – 如果设置了$selectOneMenu的值,则更新SelectOneMenu(不触发事件)、android – org.json.JSONException:值<!DOCTYPE类型java.lang.String无法转换为JSONObject、AsyncTask:ClassCastException:java.lang.Object []无法转换为java.lang.String []的相关信息,请在本站查询。

本文标签: