2015-07-09 2 views
0

У меня есть виджетCQ5 выпадающий выбора получить значение не название

<orderBy 
    jcr:primaryType="cq:Widget" 
    fieldDescription="Select a property to sort results. Ordered by 'Title' as default." 
    fieldLabel="Order by" 
    name="./orderBy" 
    type="combobox" 
    xtype="selection"> 
    <options jcr:primaryType="cq:WidgetCollection"> 
     <title 
     jcr:primaryType="nt:unstructured" 
     text="Title" 
     value="jcr:title"/> 
     <author 
     jcr:primaryType="nt:unstructured" 
     text="Author" 
     value="jcr:created"/> 
     <modified 
     jcr:primaryType="nt:unstructured" 
     text="Date Modified" 
     value="cq:lastModified"/> 
     <activated 
     jcr:primaryType="nt:unstructured" 
     text="Activation Date" 
     value="cq:lastReplicated"/> 
     <offtime 
     jcr:primaryType="nt:unstructured" 
     text="Off Date" 
     value="offTime"/> 
     <owner 
     jcr:primaryType="nt:unstructured" 
     text="Owner" 
     value="jcr:contentOwner"/> 
     <confidentiality 
     jcr:primaryType="nt:unstructured" 
     text="Confidentiality" 
     value="confidentialityCode"/> 
    </options> 
</orderBy> 

Когда пользователь использует выпадающее меню, они видят текстовое поле в настройках (как и ожидалось), но когда я иду для извлечения выбранного элемента из jsp я хочу получить значение. В настоящее время я делаю:

String selectedItem = (String) properties.get("dropDownSel", ""); 

Что мне нужно сделать, чтобы получить значение вместо свойства text?

+0

Выглядит, как будто вы делаете это правильно. Так что это должно сработать. Можете ли вы опубликовать xml-презентацию своего диалога? –

+0

Возвращаемая строка - это текст, а не значение. – user3916570

ответ

0

У вас неправильная комбинация типа и xtype, поэтому неправильное поле было сохранено в свойстве.

Если изменить тип виджета от комбобокса в выбрать будет экономить значения собственности вместо текста и вы будете решать вашу проблему.

UPD 1 Так что я создал следующий диалог, он открывается и сохранить значение, как это должно быть. Единственное отличие от вашего - изменен вид виджета на .

<?xml version="1.0" encoding="UTF-8"?> 
<jcr:root xmlns:cq="http://www.day.com/jcr/cq/1.0" xmlns:jcr="http://www.jcp.org/jcr/1.0" xmlns:nt="http://www.jcp.org/jcr/nt/1.0" 
jcr:primaryType="cq:Dialog" 
xtype="tabpanel"> 
<items jcr:primaryType="cq:WidgetCollection"> 
    <mainPanel 
     jcr:primaryType="cq:Widget" 
     title="Main panel" 
     xtype="panel"> 
     <items jcr:primaryType="cq:WidgetCollection"> 
      <orderBy 
       jcr:primaryType="cq:Widget" 
       fieldDescription="Select a property to sort results. Ordered by 'Title' as default." 
       fieldLabel="Order by" 
       name="./orderBy" 
       type="select" 
       xtype="selection"> 
       <options jcr:primaryType="cq:WidgetCollection"> 
        <title 
        jcr:primaryType="nt:unstructured" 
        text="Title" 
        value="jcr:title"/> 
        <author 
        jcr:primaryType="nt:unstructured" 
        text="Author" 
        value="jcr:created"/> 
        <modified 
        jcr:primaryType="nt:unstructured" 
        text="Date Modified" 
        value="cq:lastModified"/> 
        <activated 
        jcr:primaryType="nt:unstructured" 
        text="Activation Date" 
        value="cq:lastReplicated"/> 
        <offtime 
        jcr:primaryType="nt:unstructured" 
        text="Off Date" 
        value="offTime"/> 
        <owner 
        jcr:primaryType="nt:unstructured" 
        text="Owner" 
        value="jcr:contentOwner"/> 
        <confidentiality 
        jcr:primaryType="nt:unstructured" 
        text="Confidentiality" 
        value="confidentialityCode"/> 
       </options> 
      </orderBy> 
     </items> 
    </mainPanel> 
</items> 

+0

Я пробовал это, и он вообще не откроет редактор. Это указывает на то, что что-то не так. Согласно этому документу, тип x должен быть выбран не следующим типом: https://docs.adobe.com/docs/en/cq/5-6-1/developing/widgets/xtypes.html – user3916570

+0

Да, определенно что-то не так. Потому что подход, который я написал отлично, работает на моем локальном экземпляре. Если вы разместите код для своего диалога здесь, возможно, я смогу вам помочь в этом. –

+0

Я добавил это к вопросу – user3916570

-1

Вопрос был тип был выпадающий.

Я бы предположил, что это связано со списком, имеющим возможность ввода вручную, поэтому ему нужно было бы получить текстовое поле каждого элемента, а не его значение.

Смежные вопросы