jsp文件,定义了一个keywords
<s:form action="newnew" method="post">
<s:select list="{'原料信息','流程','渣系','热力学','物质','设备'}"
name="keywords"
label="请选择">
</s:select>
<s:submit value="提交"></s:submit>
</s:form>
</body>action文件接收keywordspublic class newnew extends ActionSupport {

private LinkedList list;
private String keywords; public String getKeywords() {
return keywords;
} public void setKeywords(String keywords) {
this.keywords = keywords;
} public LinkedList getList() {
return list;
} public String execute() {
OntModel text_ontmodel = ModelFactory.createOntologyModel();
OntDocumentManager dm = text_ontmodel.getDocumentManager();
dm.addAltEntry("http://www.owl-ontologies.com/Ontology1303718667.owl#",
"file:" + "new钢铁.owl");
text_ontmodel.read("file:E:/Program Files/Protege_3.4.4/new钢铁.owl"); String prefix = "PREFIX owl: <http://www.w3.org/2002/07/owl#>"
+ "PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>"
+ "PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> "
+ "PREFIX xsd:<http://www.w3.org/2001/XMLSchema#>"
+ "PREFIX eg:<http://www.owl-ontologies.com/Ontology1303718667.owl#>";
String slect = "SELECT ?name ";
String where = "WHERE {" + "?name rdf:type eg:keywords ." + "}";
Query query = QueryFactory.create(prefix + slect + where);
QueryExecution qe = QueryExecutionFactory.create(query, text_ontmodel);
ResultSet results = qe.execSelect();
// 输出结果,这样可以去掉前缀
LinkedList results1 = new LinkedList();
while (results.hasNext()) { QuerySolution soln = results.nextSolution(); // 查询结果中的每一条(称之为满足条件的一个solution) String s = soln.get("name").toString();
System.out.print("\t");
StringTokenizer token = new StringTokenizer(s, "#");
token.nextToken();
results1.add(token.nextToken());
qe.close(); }
Iterator it = results1.iterator();
while (it.hasNext()) {
System.out.println(it.next());
}
this.list = results1;
return SUCCESS;
}
在action文件中定义keywords对吗?定义它的get和set?还是别的语句?

解决方案 »

  1.   

    jsp --.do/.action------->struts.xml---------携带请求----------->Action类
                                            <--------处理结果返回给xml---
      

  2.   

    是在后台action中定义keywords并且生成它的get和set方法,
    后台取值的时候就能取到keywords
    keywords对应前台表单中select的name属性
      

  3.   


    我贴的这个应该就是action把?这个action能接收到jsp传过来的keywords么?在
    String slect = "SELECT ?name ";
    String where = "WHERE {" + "?name rdf:type eg:keywords ." + "}";
    这一句里面的keywords是传过来的那个值么?
    <struts>
        <package name="ln" extends="struts-default">
           <action name="newnew" class="com.text.newnew">
           <result name="success">/index2.jsp</result>
          
           </action>
        </package>
    这个是结果
    <s:iterator value="#request.list">   
               <s:property />          
               
            </s:iterator> 
    帮忙看下有问题么?运行不出结果。。