2

オートコンプリート テキスト入力を作成しようとしています。

dojo が非推奨になったからと<sj:autocompleter>いうよりも、今すぐ使用するのがベストだと聞いたことがありますが、行き詰まっています。<sx:autocompleter>

Action クラスでメソッドを呼び出して、それを JSP に表示する方法を知りたいです。

struts.xmlからパッケージを拡張することを提案する他の人を見てきましたjson-default

私はそれを試しましたが、私のクラスは機能しませんでした (別のパッケージで定義されているため)。

ファイルをむき出しに切り詰めたので、ここに私が持っているものがあります。助けてください:

pom の依存関係:

<dependencies>
<!--  Struts 2 -->
<dependency>
    <groupId>org.apache.struts</groupId>
    <artifactId>struts2-core</artifactId>
    <version>2.1.8.1</version>
</dependency>

<dependency>
    <groupId>org.apache.struts</groupId>
    <artifactId>struts2-sitemesh-plugin</artifactId>
    <version>2.1.8.1</version>
</dependency>

<dependency>
    <groupId>org.apache.struts</groupId>
    <artifactId>struts2-spring-plugin</artifactId>
    <version>2.1.8.1</version>
</dependency>

<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>jsp-api</artifactId>
    <version>2.0</version>
    <scope>provided</scope>
</dependency>

<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>5.0.5</version>
</dependency>

<dependency>
    <groupId>org.apache.ibatis</groupId>
    <artifactId>ibatis-sqlmap</artifactId>
    <version>2.3.0</version>
</dependency>

</dependencies>

完全な application-context.xml:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC 
    "-//SPRING//DTD BEAN//EN" 
    "http://www.springframework.org/dtd/spring-beans.dtd">

<beans>
    <bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
    <property name="location" value="classpath:jdbc.properties"/>
    </bean>

    <bean id="baseCarsAction" class="com.microed.cars.web.BaseCarsAction" singleton="false" >
            <property name="carsService" ref="carsService"/>
    </bean>

<bean id="homeAction" class="com.microed.cars.web.HomeAction" singleton="false" parent="baseCarsAction" >
    </bean>

    <bean id="carsService" class="com.microed.cars.business.CarsService" singleton="false" >
        <property name="carsDAO" ref="carsDAO"/>
    </bean>

    <bean id="carsDAO" class="com.microed.cars.dataaccess.CarsDAO" singleton="false" />
</beans>

home.jsp を完成させます (「ここで結果を取得するにはどうすればよいですか」という私のコメントに注意してください)。

    <!DOCTYPE html PUBLIC 
        "-//W3C//DTD XHTML 1.1 Transitional//EN"
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

    <%@taglib prefix="s" uri="/struts-tags" %>

    <s:form action="index" >
      <s:url id="loginURL" action="login" />
        <div class="row">
            <div class="span4">
            </div>
        </div>

      <div class="transBlock">
        <div class="row">
            <div class="span7 offset1">
                <s:textfield name="searchTags" cssClass="span7" placeholder="%{getText('placeholder.search.home')}" />      
            </div>

            <div class="span2 offset1" title="<s:text name='tooltip.search.keywords'/>" >
                <s:submit key="button.search" method="searchTags" cssClass="btn btn-success span2" id="btnSearch" />        
            </div>

            <!--  after calling getData in action class - how do I display it here? -->
        </div>

      </div>
    </s:form>

完全ホームアクション:

package com.microed.cars.web;

import java.sql.SQLException;

public class HomeAction extends BaseCarsAction {
    /** How do I call this when user inputs into a text field? **/
    public void getData() throws SQLException {
    }

    @Override
    public String execute() throws Exception {
        return INPUT;
    }

}

サービスを注入する基本アクション クラス:

package com.microed.cars.web;

import org.springframework.beans.factory.annotation.Required;

import com.microed.cars.business.CarsService;
import com.opensymphony.xwork2.ActionSupport;

public class BaseCarsAction extends ActionSupport {

    protected CarsService carsService;
    protected String searchTags;

    @Required
    public void setCarsService(CarsService carsService) {
        this.carsService = carsService;
    }

}
4

0 に答える 0